Beruflich Dokumente
Kultur Dokumente
CE00321-2
Group Assignment
Intake: - HF08A1SE
ABSTRACT
Software development is not merely coding; the most critical success factor is how well the
software is accepted by the target users.
To begin with, different structured methodologies were analyzed and the best for this particular
project was selected. Project planning is directly related to the development approach
accordingly.
Different tools and techniques were used to model different views of the proposed system: the
requirements, such as DFD, ER, ELH, etc. It can be presented to the client in order to verify
what is required in the new system. Once verification was done these models are directly
manipulated for system design. In order to control the scope and boundary of the project there
were many assumptions made and they can be found under “list of assumptions” on page 3.
Designs were made on functionality, architecture and interface. Functionality and architecture
can be done with less involvement of end-users; but requires “tech guys” to take part in it.
However apart from developing what is required in the new system, the most challenging is the
interface design.
To conclude with, this document represents the development of a software system for Natlib
Library to handle its daily operations.
ACKNOWLEDGEMENTS
We would like to thank our lecturer Mrs. Rasitha Jayasekare for the utmost effort shown to us for the
better of the project. We are also highly grateful to her for the guidance and the manner in which she
coped with our problems within the project duration. And we appreciate her dedication and we are
thankful Mrs. Rasitha Jayasekare for her greatest effort which she paid for us.
We would like to extend our appreciation towards Asia Pacific Institute of Information Technology for
the support such as providing us the necessary laboratory and library facilities which were references and
guides to our project. At the same time we would like to be thankful for all the other lecturers who helped
us to make this project a success.
Also we would like to thank our batch mates and our friends for giving us their open-minded
guidance and advice throughout this project which was so helpful to us in completing this project
in a relaxed manner.
Last but not least our heartiest thanks go to our Parents for giving us the support towards the
completion of the project.
LIST OF ASSUMPTIONS
Note: Monitory unit “Rs” used in this document represents Sri Lankan Rupee.
LIST OF FIGURES
LIST OF TABLES
TABLE OF CONTENTS
ABSTRACT ................................................................................................................................... 1
ACKNOWLEDGEMENTS ......................................................................................................... 2
LIST OF ASSUMPTIONS ........................................................................................................... 3
LIST OF FIGURES ...................................................................................................................... 4
LIST OF TABLES ........................................................................................................................ 4
1.0 INTRODUCTION................................................................................................................... 7
1.1 Project Overview ................................................................................................................... 7
1.2 Problem Statement ................................................................................................................ 7
1.3 Project Objectives ................................................................................................................. 7
1.4 Scope ..................................................................................................................................... 8
1.5 Constraints............................................................................................................................. 8
2.0 SYSTEM DEVELOPMENT APPROACH .......................................................................... 9
2.1 Purpose .................................................................................................................................. 9
2.2 Structure & Scope ................................................................................................................. 9
2.3 Methods of Analysis............................................................................................................ 10
2.4 Design.................................................................................................................................. 10
2.5 Implementation.................................................................................................................... 10
3.0 SOFTWARE REQUIREMENTS SPECIFICATION ....................................................... 12
3.1 System Functional & Non-Functional Requirements ......................................................... 12
3.2 Process Diagrams ................................................................................................................ 13
3.2.1 Context ......................................................................................................................... 13
3.2.2 Level 0 .......................................................................................................................... 14
3.2.2.1 Level 1 for Process 1 ................................................................................................. 15
3.2.2.2 Level 1 for Process 3 ................................................................................................. 15
3.2.2.3 Level 2 for Process 3.2 .............................................................................................. 16
3.2.2.4 Level 1 for Process 4 ................................................................................................. 16
3.2.2.5 Level 1 for Process 5 ................................................................................................. 17
3.3 Process Specification........................................................................................................... 18
Process 1.1: Register New Title ........................................................................................... 18
1.0 INTRODUCTION
The project code name is “GrantReader”. Hereafter the use of GrantReader explicitly refers to
the construction of a new Library System for Natlib library. The purpose of this system is to
move from manual operation to modern computerized operation that will facilitate the librarians
to do their job more efficiently, effectively and accurately.
The increased number of members & books at Natlib library has caused greater volume of work
for the librarians. This increased workload has greatly increased response time of the library
service and its efficiency is reduced accordingly. Due to this reason, member complaints have
increased greatly and there is fear that if this problem is not well addressed, Natlib’s reputation
may fall.
Natlib currently uses manual methods, this increases response time and users are more
susceptible to errors. With the collective pressure, librarians are making more mistakes in the
data entry and manipulation process e.g. reservation notification is given to the wrong member,
etc.
There are opportunities for a new information system to solve the above mentioned problem.
Mainly:
As per the identified problems above this project aims to ensure quality of service by Netlib
Library; by developing an effective, efficient and satisfactory system. However, the system will
not address all the issues that exist at the Netlib library. Hence the boundaries and functionalities
will be defined in scope statement on page 8.
1.4 Scope
GrantReader will ensure that the system will include the following features. On the other hand,
those features that are not mentioned below will be excluded.
Functional:
Non – Functional:
1.5 Constraints
2.1 Purpose
Releasing a software product with high success rate is the objective of software development
companies in the world since them unable to develop bug free software. Today most of the
software development companies spent large amount of money to reduce and maintain good
quality in their products. Software professionals have the challenge to choose appropriate
development methodology since efforts are taken to improve software development process.
The assignment requires creating set of documents that are relevant to the chosen methodology
along with a prototype application to be developed. The project has to be planned in such a way
that more focus is to be given for analysis and design and less for the implementation. This is
where SSADM fits for this project. SSADM does not focus on implementation, on the other
hand it provides a structured approach to analyze, design and development. Other methodologies
can also be considered such as RAD; which the development team is well experienced and
require faster handover, JAD; maximum user involvement where effective communication with
all stakeholders and experts of the domain are conducted in controlled environments to generate
set of requirements and designs. One alternative option is to have a hybrid approach where the
structure of SSADM is used and prototyping to be used for interface design.
The combined approach of SSADM and prototyping was the best suitable approach for this
project. Where prototyping will only be used for interactive screen design; gearing towards User
Centered Design.
2.4 Design
This stage deals with how the requirements of the new system are carried out. System has
designed according to the investigation which has done during the analysis process.
The resulting document is only the “Design Specification”. Prototyping will be used to design a
more user-friendly interface. Moreover, prototyping will be used to evaluate the interface;
validate how well the interface fits for the task as well as compare the interface with the HCI
design principles, etc. For the purpose of redesign low fidelity prototyping will be used and a
high fidelity prototype will be created once a sufficient amount of interface requirements are
collected.
2.5 Implementation
VB.net and SQL Server 2005 are to be used for the development of prototype. One reason is that
VB.NET and Structured Query Language is relatively easier to create a functional prototype,
compared with other technologies; ultimately faster development time.
Why SSADM
• SSADM used for project where requirements are not too complex. It has all the necessary
stages that should follow to provide a complete solution at the end.
• This project provides all the major requirements in the case study!
• SSADM is mainly focused analysis & design, as well as the set of documents that follows
the structure; more focus is to be given to generate analysis and design documents.
• Tools and techniques which are used in SSADM help to provide a complete and accurate
business solution for a problem.
• SSADM is a highly structured top down approach; each completed step is an input for
next step.
• The project requires to propose the best solution and with a prototype to simulate the
solution. SSADM structure captures all the views and modeling tools to ensure all the
requirements are captured and validated with the set of requirements.
• Usually involved large project where requirements are complex and often not clear.
• Takes more time to develop the system.
To conclude, the project will be structured as per SSADM and prototyping will be used for
interface design to ensure the end product is more closer to the user expectation, as a result
hybrid approach is collectively the best fit for this particular project.
System requirements were identified by studying the given case study and observation of a
library environment. Based on the analysis, the functional and non functional requirements were
captured.
The systems needs were modeled in terms of the operations, the data requirements and the effect
of operation on the data. These will be represented as data flow, entity relationship and entity life
history diagrams.
The functional and non-functional requirements are mentioned under scope statement on page 8.
The usecase diagram below represents the functional requirements of the system.
3.2.1 Context
\
Figure 2: Contex
3.2.2 Level 0
END
END
END IF
NEXT
Else
Display “Not Available”
Display “Availability”
If Availability== Available
Open Loan File
Enter Copy ID and NID#
Enter other required attributes
Save Record
End If
End If
Else
Display “Not a Member”
Close Loan, Reader Files
Finish the operation
Conditions/Courses of Rules
Action 1 2 3 4 5
Condition
New copy received Y Y N N N
Stubs
A copy is returned Y Y N Y Y
Returned copy damaged Y N N Y N
Action Stubs Send loan X X X X X
Table 1: Decision Table for Process 3.2
Make reservation
Else
END IF
Data dictionaries represent the data structure and detailed attributes of the entities that are
represented in the Data Flow Diagram as “data stores”.
In the mean time, data dictionaries for external entities can be found on APPENDIX 1a on page
38 and data flows can be found on page 35.
Name: D2-Supplier
Description: Stores information about suppliers.
Input data flows:
Output data flows: Reader details
DataStructure: Supplier_ID+ Supplier +Phone+Fax+Address+Email
Data Element
Name Description Type Length Output Format
Supplier_ID Uniquely identifies Alphanumeric 6 XX
Book suppliers.
Supplier Full Name of the Supplier Alphanumeric 30
Phone Telephone number of the Alphanumeric 14 (XXXX)XXX-
supplier XXXX-XXX
Fax Fax number of the supplier Alphanumeric 14 (XXXX)XXX-
XXXX-XXX
Address Address of the supplier Alphanumeric 50
Email Supplier’s email address. Alphanumeric 50 XXX@XXX.com
Table 3: Data Dictionary D2-Supplier
Name: D3-Book
Description: Stores information about titles.
Input data flows: Book details
Output data flows: Book details.
Data Structure: = Book identity + title + publisher + price + (place) + (supplier)
Data Element
Name Description Type Length Output Format
ISBN Uniquely identifies a title Alphanumeric 20
Title Name of the book Alphanumeric 20
Edition The revision version Alphanumeric 2
Pub_ID Book publisher Alphanumeric 4
Pub_Place Country or the place of Alphanumeric 14
publication
Price Price of the book Numeric 8
Lib_ID Publishers country identifier Alphanumeric 4
Pb_Year Year of publication
Sup_ID Book supplier Alphanumeric 4
No_Of_Copies Total number of copies Numeric 2
available
Table 4: Data Dictionary D3-Book
Name: D5-Reader
Description: Stores information about publishers whose books are there in the library.
Input data flows: Reader loan status update, Reader payment status update, Reader details,
Reader details update,
Output data flows: Reader details
Data Structure: member_ID + F_Name + L_Name + Phone + (Mobile) + Address + Email + Sex
+ No_of_Lones + Pending_Payments
Data Element
Name Description Type Length Output Format
Member_ID Uniquely identifies Alphanumeric 6 RXXXXXX
Book publishers.
F_Name First name of the Reader Alphanumeric 20
L_Name Last name of the reader Alphanumeric 20
Phone Telephone number of the Alphanumeric 14 (XXXX)XXX-
reader XXXX-XXX
Mobile Mobile number of the reader Alphanumeric 14 (XXXX)XXX-
XXXX-XXX
Address Address of the reader Alphanumeric 20
Email Reader’s email address. Alphanumeric 20 XXX@XXX.com
Sex Reader’s country identifier Alphanumeric 4 XXXX
No_of_Lones Number of books lend by the Numeric XXXXXX
reader
Pending_Peyments Payments which has to be Currency
given by reader
Table 6: Data Dictionary D5-Reader
Name: D6-Loan
Description: Stores information about loans made by readers.
Input data flows: Loan Details, Loan Reminder Update, Loan Update
Output data flows: Loan Records, Loan Details
Data Structure: Loan_ID, NID#, Copy_ID, Return_Date, Returned_Date, OverdueAmount,
DamageAmount, IssuedBy, ReceivedBy
Data Element
Name Description Type Length Output Format
Loan_ID Uniquely identifies Alphanumeric 6
Loans.
NID# Alphanumeric 6
Copy_ID Alphanumeric 6
Return_Date Date/Time
Returned_Date Date/Time
OverdueAmount Currency
DamageAmount Currency
IssuedBy Alphanumeric
ReceivedBy Alphanumeric
Table 7: Data Dictionary D6-Loan
Name: D7-Reservation
Description: Stores information about reservations made by readers
Input data flows: Reservation Details
Output data flows: Reservation Details
Data Structure: Res_ID, ISBN, NID#, Date, Offer/Cancel, Lib_ID
Data Element
Name Description Type Length Output Format
Res_ID Uniquely identifies Alphanumeric 6
Loans.
ISBN Alphanumeric
NID# Alphanumeric 6
Date Date/Time
Offer/Cancel Alphanumeric
Lib_ID Alphanumeric 6
Table 8: Data Dictionary D7-Reservation
Name: D8-Payment
Description: stores details about received payments.
Input data flows: Payment details.
Output data flows: -
Data Structure: = (Damage) + overdue + LibrarianID
Data Element
Name Description Type Length Output Format
Loan_ID Uniquely identifies a record Alphanumeric 4
OverdueAmount Total for overdue charges Numeric 8 XXXXXX.XX
DamageAmount Total for damage charges Numeric 8 XXXXXX.XX
Lib_ID Book publisher Alphanumeric 4
Date Country or the place of Numeric 10 XX/XX/XXXX
publication
Table 9: Data Dictionary D8-Payment
3.6.1 Reader
3.6.2 Book
3.6.4 Reservation
4.0 DESIGN
Designs were made based on the task analysis of the library operations and hence screens will
reflect the operation for which it was designed for.
Database was designed for relational model and all the required data that were captured in the
analysis phase is included in the design. Relational data model requires to have normalized
tables; however the normalization process is not mentioned in this document.
5.0 CONCLUSION
Creating a product with maximum quality at minimum cost on given time is the challenge that
has to take in software development. As a result, most of the software development companies
spent large amount of money to accomplish this goal. Software professionals have taken many
efforts to improve software development process such as software development methodologies.
Traditional and agile methods can be identifying as two different approaches taken in to improve
software development process. These methodologies define the process of development of a
software product from the beginning to deploy the product. In this System Design Methodology
(SDM) module, it describes mainly about SSADM as a traditional software development
methodology with the tools and techniques that can be used in software design process.
Analyze, design and implementation can be describe as the critical steps of a software
development process. Analyze a problem or a current system will give you a better
understanding of it to do a good job in designing of new system. Software development
methodologies describe tools and techniques that can be useful in analyzing a system. Software
professionals usually use process modeling, data modeling and event modeling techniques such
as DFDs, Decision Trees, ER diagrams and ELH diagrams, etc; to get a better understanding of
the current system in an analytical way. This project also utilizes the use of the rich visualization
technique – UML. Usecase diagram was used to represent the functional requirements of the
system, although they are mainly used in Object Oriented Analysis and Design techniques.
Identifying the functionality of the propose system has done by the use of USE Case diagram.
This was used to represent the graphical view of the proposed system; the functional
requirements collectively. With the usecase, the project team has identified the users who
interact with the system and what are the major tasks which perform by each user. A user-
friendly interface was a major design challenge and it is the nature of any interface design. Task
analysis was very helpful designing the screens and forms to accomplish a defined operation.
Moreover, HCI design guidelines and best practices will ensure a satisfactory system. However,
it is a time consuming process that required maximum user involvement; mainly evaluate the
designs with users, therefore requires extensive communication skill as well.
To conclude, this assignment has given an insight into selection of methodologies and enhanced
our practical knowledge of software design process and best practices of effective visual
communication of the process, mainly through diagramming techniques, etc. Apart from the
application of principles and techniques, we experienced the stress and trauma to get things done
on time and solving any problems that may have faced through; these situations are critical as
every decision counts and hence creative problem solving techniques must be integrated.
Meanwhile, this project has enlightened our knowledge of new technologies especially the
famous “Elegant Ribbon” interfaces as well as programming in VB.NET.
Beighly, L., 2007, Head First SQL, O’Reilly Media, Inc., California, USA.
Bijay K. J. & Peter C. P. 2006, Design for Trustworthy Software: Tools, Techniques and
Methodology of Developing Robust Software, 1st ed, Prentice Hall, Asia.
Butow, E., 2007, User Interface Design for Mere Mortals, Addison Wesley, New Jersey, USA.
Hoffer, J.A., George, J.F., Valacich, J.S. & Panigrahi, P.K. 2006, Modern Systems Analysis and
Design, 4th ed, Pearson Education, Inc., USA.
Miles, R. & Pilone, D. 2008, Head First Software Development, O’Reilly Media, Inc.,
California, USA.
Pressman, R.S.2001, Software Engineering – A Practitioner’s Approach, 5th ed, McGraw Hill,
New York, USA.
Rambaugh, J., Jacobson, E. & Booch, G. 1999, The Unified Modeling Language Reference
Manual, Addison Wesley, California, USA.
1a Data Flows
Source: Reader
Source: D1 - Publisher
Source: D2 - Supplier
Description: information of the titles in the library or new titles those are stored.
Sink: 1.0 Register Book, 1.2 Register New Copy, D3 – Book, 3.1 Search for Titles, 4.0 Make
Reservation, 4.1 Make Reservation.
Description: the diversity of book in the library depends on the number of different titles available.
Data Structure: = ISBN + title + publisher + (published country) + year + edition + authors.
Description: the more copies available, the more books can be available for readers.
Data Structure: = Copy ID+ ISBN + title + publisher +edition + authors+ Type.
Description: provides information about a book copies in the library. This information is provided for
issue and return of loans.
Source: 1.0 Register Book, 1.2 Register New Copy, D4 – Book Copy.
Sink: D4 – Book Copy, 3.0 Borrow Book, 3.1 Search for Titles, 5.2 Check Damage.
Description: New comers, obtain library rules and procedures in order to get registered and loan books.
Source: Reader.
Description: information about the library is given to the potential Readers, they may become members
or not depends on how much they agree with the rules and regulations of the library.
Sink: Reader.
Data Structure: = {fees structure}+ maximum loan+(kind of books available)+fines and damage rules.
Description: New comers, obtain library rules and procedures in order to get registered and loan books.
Sink: D5 – Reader, 3.0 Borrow Book, 3.2 Issue Loan, 4.0 Make Reservation,
Description: A fine is collected when a loan is returned overdue. The amount depends on the number of
days overdue.
Description: reader is informed about the total amount and other particulars about the payment a reader
has to settle.
Sink: Reader
Description: A proof of settled payment is given to the reader, which includes the details about the
collective payment.
Sink: Reader
Description: As soon as reader settles a payment, his or her pending payments are updated.
Sink: D5 - Reader
1b External Entity
Name: Librarian
Description: Librarian facilitates the registration of readers, issue of loans, loan reminders, reservation,
reservation notification and collection of payments.
Output Data Flows: New copy details, New title details, Damage details, Reservation notification, Loan
reminder.
Name: Reader
Input Data Flows: Library information / procedures, Membership, Book availability status, pending
payments / expired loan status, loan confirmation, loan reminder, payment details, payment receipt,
Reservation confirmation status, Reservation notification.
Output Data Flows: Library information request, Membership request, Reader details, New loan / book
search request, Loan return, Reservation request.
APPEN
NDIX 2 Screeen Design
Login Screen
S along with the navvigation
flow.
Add new
w title
Delete Title
T
Delete Copy
C
Issue Looans
Make Reeservation
Return Book
B
Loan Reeminder
Registerr Reader
Update Reader
R Details
Delete Reader
R
Add Useer
Critical path is shown by bold arrow. Activity dependency table is shown on the following page.
Asia Pacific Institute of Information Technology – Sri Lanka 46
System Development Methods: CE00321-2
Member Contribution / %
Task Azeem Nuwan Prageeth
Selection of Methodology 30 30 40
Identification of Requirements 33.33 33.33 33.33
Identification of Issues 33.33 33.33 33.33
Data Modeling 30 40 30
Process Modeling 40 30 30
Event Modeling 30 30 40
DFD Documentation 33.33 33.33 33.33
Requirements Specification 40 30 30
Normalization 30 40 30
Data Constraints 40 30 30
Screen Designs 33.33 33.33 33.33
Architectural Design 33.33 33.33 33.33
System Structure 30 30 40
Design Specification 30 40 30
Overall Documentation 40 30 30
Prototype Development 33.33 33.33 33.33
Total contribution 33.75% 33.12% 33.12%
I hereby confirm that I the work load mentioned in the table above is valid
Azeem
Nuwan
Prageeth
Group - III
Meeting: 01
Prageeth
Nuwan
-------------------------------------------------------------------------------------------------------------------------------
Major Discussions
Out Come
Group - III
Meeting: 02
Prageeth
Nuwan
-------------------------------------------------------------------------------------------------------------------------------
Major Discussions
1. Discussed about the DFD and gave each member’s idea about main process of the DFD.
2. Discussed about the ER diagram and gave each member’s idea about main process of the
diagram.
3. Finalized documenting selected methodology.
Out Come
1. Azeem was assigned to create DFD and ER diagrams including other member’s ideas.
Group - III
Meeting: 03
Prageeth
Nuwan
-------------------------------------------------------------------------------------------------------------------------------
Major Discussions
Out Come
Group - III
Meeting: 04
Prageeth
Nuwan
-------------------------------------------------------------------------------------------------------------------------------
Major Discussions
1. Finalized DFD
2. Finalized ER diagram
3. Discussed about Data Dictionaries
4. Discussed about Entity Description tables
Out Come
Group - III
Meeting: 05
Prageeth
Nuwan
-------------------------------------------------------------------------------------------------------------------------------
Major Discussions
Out Come
Group - III
Meeting: 06
Prageeth
Nuwan
-------------------------------------------------------------------------------------------------------------------------------
Major Discussions
Out Come