SlideShare a Scribd company logo
1 | P a g e 
Chapter 1 
Architectural Design 
1.0 Introduction 
Architectural design represents the structure of data and program components that are required to build a computer-based system. It considers the architectural style that the system will take, the structure and properties of the components that constitute the system and the interrelationships that occur among all architectural components of a system. We follow the following steps in our architectural design process of Library Circulation System. 
i. Represent the system in context 
ii. Define archetypes 
iii. Refine the architecture into components 
iv. Describe instantiations of the system 
In following sections, we will represent these steps.
2 | P a g e 
1.1 Represent the System in Context 
In this step, we have used an architectural context diagram (ACD) to model the manner in which software interacts with entities external to its boundaries. 
Figure 1: Architectural context diagram (ACD) 
1.2 Define Archetypes 
An archetype is a pattern that represents a core abstraction that is critical to the design of an architecture for the target system. We have defined the following archetypes for our Library Circulation System.
3 | P a g e 
Figure 2: Relationships for LCS archetype
4 | P a g e 
1.3 Refine the Architecture into Components 
Based on the archetypes, we refined the software architecture into components to illustrate the overall structure and architectural style of the system 
Figure 3: Overall architectural structure for LCS with top-level components
5 | P a g e 
1.4 Describe Instantiations of the System 
Figure 4: LCS with component elaboration
6 | P a g e 
1.5 Mapping Requirements into a Software Architecture 
Level 0 
Figure 5: Level 0 DFD 
Figure 6: First level factoring
7 | P a g e 
Level 1.1 - User 
Figure 7: Level 1.1 DFD 
Figure 8: Second level factoring (User)
8 | P a g e 
Level 1.2 Admin 
Figure 9: Level 1.2 DFD (Admin) 
Figure 10: Second level factoring (Admin)
9 | P a g e 
Level 1.3 Librarian 
Figure 11: Level 1.3 DFD 
Figure 12: Second level factoring (Librarian)
10 | P a g e 
Level 2.1 User 
Figure 13: Level 2.1 DFD
11 | P a g e 
Figure 14: Third level Factoring (User)
12 | P a g e 
Level 2.2 Librarian 
Figure 15: Level 2.2 DFD
13 | P a g e 
Figure 16: Third level factoring (Librarian)
14 | P a g e 
Chapter 2 
Component Level Design 
2.0 Introduction 
Component level design defines the data structures, algorithms, interface characteristics and communication mechanisms allocated to each software components. We follow the following steps in the component level design of our Library circulation system. 
i. Identify all design classes that correspond to the problem domain 
ii. Identify all design classes that correspond to the infrastructure domain 
iii. Elaborate all design classes 
iv. Describe persistent data sources (databases and files) and identify the classes required to manage them 
v. Develop and elaborate behavioral representations for a class or component 
vi. Elaborate deployment diagrams to provide additional implementation detail
15 | P a g e 
2.1 Identify All Classes that Correspond to Problem Domain 
Figure 17: Problem domain classes
16 | P a g e 
2.2 Identify All Classes that Correspond to Infrastructure Domain 
Figure 18: Infrastructure Domain Classes
17 | P a g e 
2.3 Elaborate All Design Classes that are not acquired as Reusable Components 
Figure 19: Class elaboration
18 | P a g e 
Figure 20: Class elaboration
19 | P a g e 
Figure 21: Class elaboration
20 | P a g e 
Figure 22: Class elaboration
21 | P a g e 
Figure 23: Class elaboration
22 | P a g e 
Step- III(a) Specify Message Details when Classes or Components Collaborate 
Search 
Renew 
1.ItemList := InputItem(itemName) 
1.ItemDetails := selectItem(itemName) 
2.ItemStatus := renewRequest(itemDetails)
23 | P a g e 
Issue 
Retreive 
1.userDetails := selectUser(userName) 
2.userStatus := checkUserStatus (user) 
3.itemDetails := selectItem(itemName) 
4.itemStatus := checkItemStatus (item) 
1.userDetails := selectUser(userName) 
3.itemDetails := selectItem(itemName) 
2.Fine := checkFine(User)
24 | P a g e 
ItemAvailability 
NotifyUser 
1.itemAvailability := notify(Item,ItemNumber) 
1.userDetails := selectUser(userName) 
3.confirmation := sendNotification (report) 
2.itemDetails := selectItem(itemName)
25 | P a g e 
BlockUser 
calculateFine 
generateReport 
1.userDetails := selectUser(userName) 
3.confirmation := sendNotification (report) 
4. confirmation := changeUserStatus(user) 
2.itemDetails := selectItem(itemName) 
1.duration := getDuration(user,item) 
3.fineRate := getRate(itemType) 
2.itemType := getItemType(item)
26 | P a g e 
Step-III(b) Identify Appropriate Interfaces for each Component 
Search 
1.fineNotification := getNotification() 
2.userDetails := 
getUser() 
3. email := acquireEmail(user) 
4.confirmation := reportGenerateAndSend (fineDetails)
27 | P a g e 
Renew 
Issue
28 | P a g e 
Retrieve 
ItemAvailability
29 | P a g e 
NotifyUser 
BlockUser
30 | P a g e 
CalculateFine 
GenerateReport
31 | P a g e 
Step-III(c) Elaborate Attributes and Define Data Types and Data Structures Required to Implement them Attribute Name Class Data Type/Data Structure 
user_type 
user 
enum 
user_name 
user,administrator,librarian 
string 
password 
user,administrator,librarian 
string 
user_status 
user 
enum 
e-mail 
user,administrator,librarian 
string 
report_no 
report 
int 
intended_user 
report 
int 
date 
report 
date 
report_type 
report 
enum 
fine_type 
fine 
Enum 
fine_amount 
fine 
Int 
assigned_user 
fine, item 
Int 
assigned_item 
fine 
Int 
fine_rate 
fine 
Double 
borrowing_duration 
fine 
Int 
item_type 
item 
Enum 
call_number 
item 
Int 
item_status 
item 
Enum
32 | P a g e 
Step-III(d) Describe Processing Flow within each Operation in Detail 
Search 
Input Item 
Validate Input 
retrieve 
Arrange Alphabetically 
Arrange by Arrival Date 
Arrange by Category 
show 
arrangeType=Name 
arrangeType=ArrivalDate 
arrangeType=Category
33 | P a g e 
Renew 
Select Item 
Show Item Details 
Renew Request 
Check Item Availability 
Update 
available
34 | P a g e 
Issue 
Select User 
Select Item 
Check Item Availability 
Update Item,User 
available 
Not available 
Check User Availability 
active 
blocked
35 | P a g e 
Retreive 
Select User 
Select Item 
Update User 
Check Fine 
no 
yes 
Generate Report 
Update Item
36 | P a g e 
Item Availability 
Notify User 
Select Item Type 
Count Item No 
Connect DB 
Notify Librarian 
Select User 
Get Data 
Select Item 
Generate Notification 
Send Notification
37 | P a g e 
Block User 
Calculate Fine 
Select User 
Get Data 
Select Item 
Generate Notification 
Send Notification 
Block User 
Get Duration 
Get Rate 
Get Item Type 
Calculate
38 | P a g e 
Generate Report 
Get Notification 
Get User 
Calculate Fine 
Acquire Email 
Send Notification 
Update User
39 | P a g e 
2.4 Describe Persistent Data Sources and Identify the Classes Required to Manage them 
• Date Source 
– User Database 
– Item Database 
• Required Class 
– DB Connect 
– DAO
40 | P a g e 
2.5 Develop and Elaborate Behavioral Representations for a Class or Component 
Administrator
41 | P a g e 
Librarian
42 | P a g e 
User
43 | P a g e 
Item 
Report
44 | P a g e 
DAO
45 | P a g e 
2.6 Elaborate Deployment Diagrams to Provide Additional Implementation Detail
46 | P a g e 
Chapter 3 
User Interface Design 
3.0 Introduction 
User interface design creates an effective communication medium between a human and a computer. The interface has to be right because it models a user’s perception of the software. As we know that a key tenet of all software engineering process models is “understand the problem before you attempt to design a solution”, we analysis the interface before starting the design steps. 
3.1 Interface Analysis 
We divide interface analysis into following parts: 
i. User Analysis 
ii. Task Analysis 
3.1.1 User Analysis 
In this part we follow two steps: 
a. Identify user 
b. Know user 
Identify user 
From the requirements specification we have identified following four user categories. 
1. Librarian 
2. Student 
3. Faculty 
4. Admin 
Know user 
We collect following information about the users. 
Librarian 
Age: 30-50 
Work type: Clerical 
Skills: Average 
Domain expert: Yes 
Application expert: No
47 | P a g e 
Office hour: Normal 
Frequency of use: Very frequently 
Consequence of a mistake: High 
General computer experience: Yes 
Student 
Age: 20-30 
Skills: Average 
Frequency of use: Occasionally 
Consequence of a mistake: Low 
General computer experience: Yes 
Teacher 
Age: 30-60 
Skills: Above Average 
Frequency of use: Occasionally 
Consequence of a mistake: Low 
General computer experience: Yes 
3.1.2 Task Analysis 
In this step we identify and analyze the tasks of every users separately. 
Librarian: Librarian has following tasks. 
1. Issue 
Goal: Issue the requested item 
Precondition: 
 User must be eligible for taking requested item 
 Item is available 
Sub-task: 
i. Check user status 
ii. Check item status
48 | P a g e 
iii. Update user status 
iv. Update item status 
2. Retrieve 
Goal: Receive borrowed item 
Precondition: 
 Item must be issued for the particular user 
Sub-task: 
i. Update user status 
ii. Update item status 
Student and Faculty: 
1. Search 
Goal: Search an item 
2. Renew 
Goal: Renew an item 
Precondition: 
 Logged in as valid user 
 Item must be available 
Sub-task: Logged in 
3. Booking 
Goal: Booking an item 
Precondition: 
 Valid User 
 Valid but unavailable Item at the particular time 
Sub-task: 
 Check item status 
 Send request
49 | P a g e 
Admin: 
1. Configure the Due Date for an Item 
Goal: Change the Due Date for an Item 
Precondition: 
 Valid Item 
Sub-task: 
 Search user 
2. Configure the Fine for Overdue Item: 
Goal: Change the Due Date for an Item 
Sub-task: 
 Search item 
3. Change user type 
Goal: Change the user type 
Precondition: 
 Valid User 
Sub-task: 
 Update user status
50 | P a g e 
3.2 Interface Design Steps 
We follow the following steps to design the Library Circulation System (LCS) user interface. 
i. Define interface objects and actions 
ii. Define events that will cause the state of the user interface to change 
iii. Depict each interface state as it look to end user 
3.2.1 Define interface objects and actions 
We identified following objects and actions for the user interface. 
A. External 
a. Home 
Figure 31: External Home
51 | P a g e 
b. Items 
Figure 32: External Items 
c. About 
d. FAQ 
e. Login 
f. Contact
52 | P a g e 
B. Internal : Librarian 
a. Dashboard 
Figure 33: Librarian Dashboard
53 | P a g e 
b. Configure : Change user type 
Figure 34: Change user type (Librarian) 
c. Change user type : Modify 
Figure 35: Change user type: Modify (Librarian)
54 | P a g e 
d. Change Item Borrowing Duration 
Figure 36: Change Item Borrowing Duration (Librarian) 
e. Change Item Borrowing Duration: Modify 
Figure 37: Change Item Borrowing Duration: Modify(Librarian)
55 | P a g e 
f. Manage Item: Add/Edit Item 
Figure 38: Manage Item: Add/Edit Item 
g. Manage Item: Add/Edit Item: Add 
Figure 39: Manage Item: Add/Edit Item: Add
56 | P a g e 
h. Manage Item: Add/Edit Item: Modify 
Figure 40: Manage Item: Add/Edit Item: Modify 
i. Manage Item: Delete Item 
Figure 41: Manage Item: Delete Item
57 | P a g e 
j. Management: Issue 
Figure 42: Management: Issue
58 | P a g e 
k. Management: Retrieve 
Figure 43: Management: Retrieve
59 | P a g e 
l. Management: Return 
Figure 44: Management: Return
60 | P a g e 
m. Manage User 
Figure 45: Manage User
61 | P a g e 
n. Change Password 
Figure 46: Change Password
62 | P a g e 
C. Internal: User 
a. Dashboard 
Figure 47: Dashboard (User)
63 | P a g e 
b. Borrow: New Item 
Figure 48: Borrow: New Item
64 | P a g e 
c. Borrow: Renew 
Figure 49: Borrow: Renew
65 | P a g e 
d. Check Status 
Figure 50: Check Status
66 | P a g e 
e. Change Password 
Figure 51: Change Password
67 | P a g e 
D. Internal : Admin 
a. Dashboard 
Figure 52: Dashboard
68 | P a g e 
b. Configuration: User Management 
Figure 53: Configuration: User Management
69 | P a g e 
c. Configuration: Item Type Management 
Figure 54: Configuration: Item Type Management
70 | P a g e 
d. Management: Fine 
Figure 55: Management: Fine
71 | P a g e 
e. Management: Borrowing Duration 
Figure 56: Management: Borrowing Duration
72 | P a g e 
f. Change Password 
Figure 57: Change Password
73 | P a g e 
3.2.2 Define events that will cause the state of the user interface to change
74 | P a g e
75 | P a g e
76 | P a g e 
3.2.3 Depict each interface state as it look to end user 
Figure 59: Home
77 | P a g e 
Figure 60: Items
78 | P a g e 
Figure 61: Login Form
79 | P a g e 
Figure 62: Admin Dashboard
80 | P a g e 
Chapter 4 
Conclusion 
We are pleased to submit the final Software Design and Analysis report on Library circulation system. From this, the readers will get a clear and easy view of library circulation system. To improve Library System efficiency, library management needs to automate the acquisition and circulation tasks. A library with automated software system is more effective than paper based manual system. This document can be used effectively to maintain software development cycle. It will be very easy to conduct the whole project using it. Hopefully, this document can also help our junior BSSE batch students. We tried our best to remove all dependencies and make effective and fully designed document. We believe that reader will find it in order.
81 | P a g e 
Appendix 
References 
1. Pressman, Roger S. Software Engineering: A Practitioner's Approach (7th ed.). Boston, Mass: McGraw-Hill. ISBN 0-07-285318-2 
2. Ralph, Paul (2012). "The Illusion of Design in Software Development". 
Engineering 
3. Sommerville, I. Software Engineering, 7th ed. Harlow, UK: Addison Wesley, 2006 
4. http://www.mnhe.com/pressman, accessed on 7th November, 2013 
5. http://www.mks.com/solutions/discipline/rm/software-engineering, accessed on 6th November, 2012 
6. http://www-01.ibm.com/software/awdtools/reqpro/, accessed on 29th October, 2012

More Related Content

What's hot

Software Architecture and Design
Software Architecture and DesignSoftware Architecture and Design
Software Architecture and Design
Ra'Fat Al-Msie'deen
 
Srs master login module
Srs master login moduleSrs master login module
Srs master login module
Javeria Gauhar Khan
 
Software Design Document
Software Design DocumentSoftware Design Document
Software Design Document
Mugerwa Brian Mark
 
[[Srs]] online shopping website for TYBSC IT
[[Srs]] online shopping website for TYBSC IT[[Srs]] online shopping website for TYBSC IT
[[Srs]] online shopping website for TYBSC IT
YogeshDhamke2
 
Srs document
Srs documentSrs document
Srs document
Saqib Malik
 
Software Architecture Document Final
Software Architecture Document FinalSoftware Architecture Document Final
Software Architecture Document Final
Ali Ahmed
 
online job portal system
online job portal systemonline job portal system
online job portal system
Krishna Ranjan
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement Specification
Vishal Singh
 
Srs example webapp
Srs example webappSrs example webapp
Srs example webapp
Rivaldy Setiawan
 
Software Design Specification For Smart Internet Cafe
Software Design Specification For Smart Internet CafeSoftware Design Specification For Smart Internet Cafe
Software Design Specification For Smart Internet Cafe
Hari
 
Stock Maintenance System-Problem Statement, SRS, ERD, DFD, Structured Chart
Stock Maintenance System-Problem Statement, SRS, ERD, DFD, Structured ChartStock Maintenance System-Problem Statement, SRS, ERD, DFD, Structured Chart
Stock Maintenance System-Problem Statement, SRS, ERD, DFD, Structured Chart
grandhiprasuna
 
Library management system
Library management systemLibrary management system
Library management system
ashu6
 
UML Diagrams for Real estate management system
UML Diagrams for Real estate management systemUML Diagrams for Real estate management system
UML Diagrams for Real estate management system
Starlee Lathong
 
Srs2 Job Portal
Srs2 Job PortalSrs2 Job Portal
Srs2 Job Portal
Be-call Khyaju
 
Sdd 4
Sdd 4Sdd 4
Software requirements specification
Software  requirements specificationSoftware  requirements specification
Software requirements specification
Krishnasai Gudavalli
 
Leave Management System: Software Requirements Specification Document(SRS)
Leave Management System: Software Requirements Specification Document(SRS) Leave Management System: Software Requirements Specification Document(SRS)
Leave Management System: Software Requirements Specification Document(SRS)
Abhilasha Lahigude
 
online examination management system
online examination management systemonline examination management system
online examination management system
Praveen Patel
 
Online ecommerce website srs
Online ecommerce  website srsOnline ecommerce  website srs
Online ecommerce website srs
SM Nurnobi
 
Library management system
Library management systemLibrary management system
Library management system
Paresh Gosavi
 

What's hot (20)

Software Architecture and Design
Software Architecture and DesignSoftware Architecture and Design
Software Architecture and Design
 
Srs master login module
Srs master login moduleSrs master login module
Srs master login module
 
Software Design Document
Software Design DocumentSoftware Design Document
Software Design Document
 
[[Srs]] online shopping website for TYBSC IT
[[Srs]] online shopping website for TYBSC IT[[Srs]] online shopping website for TYBSC IT
[[Srs]] online shopping website for TYBSC IT
 
Srs document
Srs documentSrs document
Srs document
 
Software Architecture Document Final
Software Architecture Document FinalSoftware Architecture Document Final
Software Architecture Document Final
 
online job portal system
online job portal systemonline job portal system
online job portal system
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement Specification
 
Srs example webapp
Srs example webappSrs example webapp
Srs example webapp
 
Software Design Specification For Smart Internet Cafe
Software Design Specification For Smart Internet CafeSoftware Design Specification For Smart Internet Cafe
Software Design Specification For Smart Internet Cafe
 
Stock Maintenance System-Problem Statement, SRS, ERD, DFD, Structured Chart
Stock Maintenance System-Problem Statement, SRS, ERD, DFD, Structured ChartStock Maintenance System-Problem Statement, SRS, ERD, DFD, Structured Chart
Stock Maintenance System-Problem Statement, SRS, ERD, DFD, Structured Chart
 
Library management system
Library management systemLibrary management system
Library management system
 
UML Diagrams for Real estate management system
UML Diagrams for Real estate management systemUML Diagrams for Real estate management system
UML Diagrams for Real estate management system
 
Srs2 Job Portal
Srs2 Job PortalSrs2 Job Portal
Srs2 Job Portal
 
Sdd 4
Sdd 4Sdd 4
Sdd 4
 
Software requirements specification
Software  requirements specificationSoftware  requirements specification
Software requirements specification
 
Leave Management System: Software Requirements Specification Document(SRS)
Leave Management System: Software Requirements Specification Document(SRS) Leave Management System: Software Requirements Specification Document(SRS)
Leave Management System: Software Requirements Specification Document(SRS)
 
online examination management system
online examination management systemonline examination management system
online examination management system
 
Online ecommerce website srs
Online ecommerce  website srsOnline ecommerce  website srs
Online ecommerce website srs
 
Library management system
Library management systemLibrary management system
Library management system
 

Viewers also liked

Example for SDS document in Software engineering
Example for SDS document in Software engineeringExample for SDS document in Software engineering
Example for SDS document in Software engineering
Ravi Yasas
 
Documenting Software Architectures
Documenting Software ArchitecturesDocumenting Software Architectures
Documenting Software Architectures
Paulo Gandra de Sousa
 
Architecture Document Template
Architecture Document TemplateArchitecture Document Template
Architecture Document Template
Pierre-Marie Delpech
 
Sw Software Design
Sw Software DesignSw Software Design
Sw Software Design
jonathan077070
 
Design document
Design documentDesign document
Design document
PiTechnologies
 
Structured Approach to Solution Architecture
Structured Approach to Solution ArchitectureStructured Approach to Solution Architecture
Structured Approach to Solution Architecture
Alan McSweeney
 
Software design
Software designSoftware design
Software requirements specification of Library Management System
Software requirements specification of Library Management SystemSoftware requirements specification of Library Management System
Software requirements specification of Library Management System
Soumili Sen
 
Solution Architecture Concept Workshop
Solution Architecture Concept WorkshopSolution Architecture Concept Workshop
Solution Architecture Concept Workshop
Alan McSweeney
 
Example requirements specification
Example requirements specificationExample requirements specification
Example requirements specification
indrisrozas
 
Forget Big Data. It's All About Smart Data
Forget Big Data. It's All About Smart DataForget Big Data. It's All About Smart Data
Forget Big Data. It's All About Smart Data
Alan McSweeney
 
Sdd updated checked
Sdd updated checkedSdd updated checked
Sdd updated checked
Jessaneth Baltazar
 
Generating Architectural Concepts & Design Ideas
Generating Architectural Concepts & Design IdeasGenerating Architectural Concepts & Design Ideas
Generating Architectural Concepts & Design Ideas
Wan Muhammad / Asas-Khu™
 
An introduction to fundamental architecture concepts
An introduction to fundamental architecture conceptsAn introduction to fundamental architecture concepts
An introduction to fundamental architecture concepts
wweinmeyer79
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
Preeti Mishra
 
Library mangement system project srs documentation.doc
Library mangement system project srs documentation.docLibrary mangement system project srs documentation.doc
Library mangement system project srs documentation.doc
jimmykhan
 
Voicenger - Software Design Document
Voicenger - Software Design DocumentVoicenger - Software Design Document
Voicenger - Software Design Document
Vlad Petre
 
Documenting Design: A Critical Step in Any Developers Workflow
Documenting Design: A Critical Step in Any Developers WorkflowDocumenting Design: A Critical Step in Any Developers Workflow
Documenting Design: A Critical Step in Any Developers Workflow
Lisa Sabin-Wilson
 
Document Design in Technical Writing
Document Design in Technical WritingDocument Design in Technical Writing
Document Design in Technical Writing
Krista Parker-Wilkinson
 
ATS-High-level design document
ATS-High-level design documentATS-High-level design document
ATS-High-level design document
Essex James
 

Viewers also liked (20)

Example for SDS document in Software engineering
Example for SDS document in Software engineeringExample for SDS document in Software engineering
Example for SDS document in Software engineering
 
Documenting Software Architectures
Documenting Software ArchitecturesDocumenting Software Architectures
Documenting Software Architectures
 
Architecture Document Template
Architecture Document TemplateArchitecture Document Template
Architecture Document Template
 
Sw Software Design
Sw Software DesignSw Software Design
Sw Software Design
 
Design document
Design documentDesign document
Design document
 
Structured Approach to Solution Architecture
Structured Approach to Solution ArchitectureStructured Approach to Solution Architecture
Structured Approach to Solution Architecture
 
Software design
Software designSoftware design
Software design
 
Software requirements specification of Library Management System
Software requirements specification of Library Management SystemSoftware requirements specification of Library Management System
Software requirements specification of Library Management System
 
Solution Architecture Concept Workshop
Solution Architecture Concept WorkshopSolution Architecture Concept Workshop
Solution Architecture Concept Workshop
 
Example requirements specification
Example requirements specificationExample requirements specification
Example requirements specification
 
Forget Big Data. It's All About Smart Data
Forget Big Data. It's All About Smart DataForget Big Data. It's All About Smart Data
Forget Big Data. It's All About Smart Data
 
Sdd updated checked
Sdd updated checkedSdd updated checked
Sdd updated checked
 
Generating Architectural Concepts & Design Ideas
Generating Architectural Concepts & Design IdeasGenerating Architectural Concepts & Design Ideas
Generating Architectural Concepts & Design Ideas
 
An introduction to fundamental architecture concepts
An introduction to fundamental architecture conceptsAn introduction to fundamental architecture concepts
An introduction to fundamental architecture concepts
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Library mangement system project srs documentation.doc
Library mangement system project srs documentation.docLibrary mangement system project srs documentation.doc
Library mangement system project srs documentation.doc
 
Voicenger - Software Design Document
Voicenger - Software Design DocumentVoicenger - Software Design Document
Voicenger - Software Design Document
 
Documenting Design: A Critical Step in Any Developers Workflow
Documenting Design: A Critical Step in Any Developers WorkflowDocumenting Design: A Critical Step in Any Developers Workflow
Documenting Design: A Critical Step in Any Developers Workflow
 
Document Design in Technical Writing
Document Design in Technical WritingDocument Design in Technical Writing
Document Design in Technical Writing
 
ATS-High-level design document
ATS-High-level design documentATS-High-level design document
ATS-High-level design document
 

Similar to Software Design Document

Online eaxmination
Online eaxminationOnline eaxmination
Online eaxmination
Aditi_17
 
Cavaros
CavarosCavaros
Cavaros
Too Jannarong
 
Event Management System Document
Event Management System Document Event Management System Document
Event Management System Document
LJ PROJECTS
 
lecture_29.pptx
lecture_29.pptxlecture_29.pptx
lecture_29.pptx
MNumanZafar1
 
6.SE_Requirements Modeling.ppt
6.SE_Requirements Modeling.ppt6.SE_Requirements Modeling.ppt
6.SE_Requirements Modeling.ppt
HaiderAli252366
 
Brandon Miller Portfolio
Brandon Miller PortfolioBrandon Miller Portfolio
Brandon Miller Portfolio
brandonmiller3
 
WINSEM2021-22_ITE2004_ETH_VL2021220500452_Reference_Material_I_03-01-2022_Sof...
WINSEM2021-22_ITE2004_ETH_VL2021220500452_Reference_Material_I_03-01-2022_Sof...WINSEM2021-22_ITE2004_ETH_VL2021220500452_Reference_Material_I_03-01-2022_Sof...
WINSEM2021-22_ITE2004_ETH_VL2021220500452_Reference_Material_I_03-01-2022_Sof...
madhurpatidar2
 
Library management system
Library management systemLibrary management system
Library management system
Arman Ahmed
 
Human Machine Learning and Analysis
Human Machine Learning and AnalysisHuman Machine Learning and Analysis
Human Machine Learning and Analysis
Emil Lupu
 
Ch. 3.pdf
Ch. 3.pdfCh. 3.pdf
Ch. 3.pdf
RajniSavaliya
 
Portfolio
PortfolioPortfolio
Portfolio
jeanux
 
Learning%20%20 port
Learning%20%20 portLearning%20%20 port
Learning%20%20 port
Prasad Kavuri
 
COLLEGE PROJECT MANAGEMENT SYSTEM
COLLEGE PROJECT MANAGEMENT SYSTEMCOLLEGE PROJECT MANAGEMENT SYSTEM
COLLEGE PROJECT MANAGEMENT SYSTEM
IRJET Journal
 
Unit 5.1-Basics of Hierarchical Task Analysis (HTA).pptx
Unit 5.1-Basics of Hierarchical Task Analysis (HTA).pptxUnit 5.1-Basics of Hierarchical Task Analysis (HTA).pptx
Unit 5.1-Basics of Hierarchical Task Analysis (HTA).pptx
NeetuBairwa
 
SE2023 0201 Software Analysis and Design.pptx
SE2023 0201 Software Analysis and Design.pptxSE2023 0201 Software Analysis and Design.pptx
SE2023 0201 Software Analysis and Design.pptx
Bharat Chawda
 
Software design of library circulation system
Software design of  library circulation systemSoftware design of  library circulation system
Software design of library circulation system
Md. Shafiuzzaman Hira
 
Local Service Search Engine Management System LSSEMS
Local Service Search Engine Management System LSSEMSLocal Service Search Engine Management System LSSEMS
Local Service Search Engine Management System LSSEMS
YogeshIJTSRD
 
Ch08
Ch08Ch08
Ch08
Ch08Ch08
PEGA SAE-2 Materials | pega CSA Training in Bangalore
PEGA SAE-2 Materials | pega CSA Training in Bangalore PEGA SAE-2 Materials | pega CSA Training in Bangalore
PEGA SAE-2 Materials | pega CSA Training in Bangalore
Ashock Kumar
 

Similar to Software Design Document (20)

Online eaxmination
Online eaxminationOnline eaxmination
Online eaxmination
 
Cavaros
CavarosCavaros
Cavaros
 
Event Management System Document
Event Management System Document Event Management System Document
Event Management System Document
 
lecture_29.pptx
lecture_29.pptxlecture_29.pptx
lecture_29.pptx
 
6.SE_Requirements Modeling.ppt
6.SE_Requirements Modeling.ppt6.SE_Requirements Modeling.ppt
6.SE_Requirements Modeling.ppt
 
Brandon Miller Portfolio
Brandon Miller PortfolioBrandon Miller Portfolio
Brandon Miller Portfolio
 
WINSEM2021-22_ITE2004_ETH_VL2021220500452_Reference_Material_I_03-01-2022_Sof...
WINSEM2021-22_ITE2004_ETH_VL2021220500452_Reference_Material_I_03-01-2022_Sof...WINSEM2021-22_ITE2004_ETH_VL2021220500452_Reference_Material_I_03-01-2022_Sof...
WINSEM2021-22_ITE2004_ETH_VL2021220500452_Reference_Material_I_03-01-2022_Sof...
 
Library management system
Library management systemLibrary management system
Library management system
 
Human Machine Learning and Analysis
Human Machine Learning and AnalysisHuman Machine Learning and Analysis
Human Machine Learning and Analysis
 
Ch. 3.pdf
Ch. 3.pdfCh. 3.pdf
Ch. 3.pdf
 
Portfolio
PortfolioPortfolio
Portfolio
 
Learning%20%20 port
Learning%20%20 portLearning%20%20 port
Learning%20%20 port
 
COLLEGE PROJECT MANAGEMENT SYSTEM
COLLEGE PROJECT MANAGEMENT SYSTEMCOLLEGE PROJECT MANAGEMENT SYSTEM
COLLEGE PROJECT MANAGEMENT SYSTEM
 
Unit 5.1-Basics of Hierarchical Task Analysis (HTA).pptx
Unit 5.1-Basics of Hierarchical Task Analysis (HTA).pptxUnit 5.1-Basics of Hierarchical Task Analysis (HTA).pptx
Unit 5.1-Basics of Hierarchical Task Analysis (HTA).pptx
 
SE2023 0201 Software Analysis and Design.pptx
SE2023 0201 Software Analysis and Design.pptxSE2023 0201 Software Analysis and Design.pptx
SE2023 0201 Software Analysis and Design.pptx
 
Software design of library circulation system
Software design of  library circulation systemSoftware design of  library circulation system
Software design of library circulation system
 
Local Service Search Engine Management System LSSEMS
Local Service Search Engine Management System LSSEMSLocal Service Search Engine Management System LSSEMS
Local Service Search Engine Management System LSSEMS
 
Ch08
Ch08Ch08
Ch08
 
Ch08
Ch08Ch08
Ch08
 
PEGA SAE-2 Materials | pega CSA Training in Bangalore
PEGA SAE-2 Materials | pega CSA Training in Bangalore PEGA SAE-2 Materials | pega CSA Training in Bangalore
PEGA SAE-2 Materials | pega CSA Training in Bangalore
 

More from Nadia Nahar

Internship Final Report
Internship Final Report Internship Final Report
Internship Final Report
Nadia Nahar
 
Test plan
Test planTest plan
Test plan
Nadia Nahar
 
Deadlock detection
Deadlock detectionDeadlock detection
Deadlock detection
Nadia Nahar
 
Remote Procedure Call
Remote Procedure CallRemote Procedure Call
Remote Procedure Call
Nadia Nahar
 
Paper review
Paper reviewPaper review
Paper review
Nadia Nahar
 
Final project report of a game
Final project report of a gameFinal project report of a game
Final project report of a game
Nadia Nahar
 
Job Training Methods and Process
Job Training Methods and ProcessJob Training Methods and Process
Job Training Methods and Process
Nadia Nahar
 
Final document of software project
Final document of software projectFinal document of software project
Final document of software project
Nadia Nahar
 
Information retrieval dynamic indexing
Information retrieval dynamic indexingInformation retrieval dynamic indexing
Information retrieval dynamic indexing
Nadia Nahar
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
Nadia Nahar
 
Component level design
Component level designComponent level design
Component level design
Nadia Nahar
 
Architectural design presentation
Architectural design presentationArchitectural design presentation
Architectural design presentation
Nadia Nahar
 
Privacy act, bangladesh
Privacy act, bangladeshPrivacy act, bangladesh
Privacy act, bangladesh
Nadia Nahar
 
Paper review
Paper reviewPaper review
Paper review
Nadia Nahar
 
Html5
Html5Html5
Long formal report
Long formal reportLong formal report
Long formal report
Nadia Nahar
 
Psycology
PsycologyPsycology
Psycology
Nadia Nahar
 
Adjusting the accounts
Adjusting the accountsAdjusting the accounts
Adjusting the accounts
Nadia Nahar
 
Southwest airlines takes off with better supply chain management
Southwest airlines takes off with better supply chain managementSouthwest airlines takes off with better supply chain management
Southwest airlines takes off with better supply chain management
Nadia Nahar
 

More from Nadia Nahar (19)

Internship Final Report
Internship Final Report Internship Final Report
Internship Final Report
 
Test plan
Test planTest plan
Test plan
 
Deadlock detection
Deadlock detectionDeadlock detection
Deadlock detection
 
Remote Procedure Call
Remote Procedure CallRemote Procedure Call
Remote Procedure Call
 
Paper review
Paper reviewPaper review
Paper review
 
Final project report of a game
Final project report of a gameFinal project report of a game
Final project report of a game
 
Job Training Methods and Process
Job Training Methods and ProcessJob Training Methods and Process
Job Training Methods and Process
 
Final document of software project
Final document of software projectFinal document of software project
Final document of software project
 
Information retrieval dynamic indexing
Information retrieval dynamic indexingInformation retrieval dynamic indexing
Information retrieval dynamic indexing
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
 
Component level design
Component level designComponent level design
Component level design
 
Architectural design presentation
Architectural design presentationArchitectural design presentation
Architectural design presentation
 
Privacy act, bangladesh
Privacy act, bangladeshPrivacy act, bangladesh
Privacy act, bangladesh
 
Paper review
Paper reviewPaper review
Paper review
 
Html5
Html5Html5
Html5
 
Long formal report
Long formal reportLong formal report
Long formal report
 
Psycology
PsycologyPsycology
Psycology
 
Adjusting the accounts
Adjusting the accountsAdjusting the accounts
Adjusting the accounts
 
Southwest airlines takes off with better supply chain management
Southwest airlines takes off with better supply chain managementSouthwest airlines takes off with better supply chain management
Southwest airlines takes off with better supply chain management
 

Recently uploaded

LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Envertis Software Solutions
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
pavan998932
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 

Recently uploaded (20)

LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 

Software Design Document

  • 1. 1 | P a g e Chapter 1 Architectural Design 1.0 Introduction Architectural design represents the structure of data and program components that are required to build a computer-based system. It considers the architectural style that the system will take, the structure and properties of the components that constitute the system and the interrelationships that occur among all architectural components of a system. We follow the following steps in our architectural design process of Library Circulation System. i. Represent the system in context ii. Define archetypes iii. Refine the architecture into components iv. Describe instantiations of the system In following sections, we will represent these steps.
  • 2. 2 | P a g e 1.1 Represent the System in Context In this step, we have used an architectural context diagram (ACD) to model the manner in which software interacts with entities external to its boundaries. Figure 1: Architectural context diagram (ACD) 1.2 Define Archetypes An archetype is a pattern that represents a core abstraction that is critical to the design of an architecture for the target system. We have defined the following archetypes for our Library Circulation System.
  • 3. 3 | P a g e Figure 2: Relationships for LCS archetype
  • 4. 4 | P a g e 1.3 Refine the Architecture into Components Based on the archetypes, we refined the software architecture into components to illustrate the overall structure and architectural style of the system Figure 3: Overall architectural structure for LCS with top-level components
  • 5. 5 | P a g e 1.4 Describe Instantiations of the System Figure 4: LCS with component elaboration
  • 6. 6 | P a g e 1.5 Mapping Requirements into a Software Architecture Level 0 Figure 5: Level 0 DFD Figure 6: First level factoring
  • 7. 7 | P a g e Level 1.1 - User Figure 7: Level 1.1 DFD Figure 8: Second level factoring (User)
  • 8. 8 | P a g e Level 1.2 Admin Figure 9: Level 1.2 DFD (Admin) Figure 10: Second level factoring (Admin)
  • 9. 9 | P a g e Level 1.3 Librarian Figure 11: Level 1.3 DFD Figure 12: Second level factoring (Librarian)
  • 10. 10 | P a g e Level 2.1 User Figure 13: Level 2.1 DFD
  • 11. 11 | P a g e Figure 14: Third level Factoring (User)
  • 12. 12 | P a g e Level 2.2 Librarian Figure 15: Level 2.2 DFD
  • 13. 13 | P a g e Figure 16: Third level factoring (Librarian)
  • 14. 14 | P a g e Chapter 2 Component Level Design 2.0 Introduction Component level design defines the data structures, algorithms, interface characteristics and communication mechanisms allocated to each software components. We follow the following steps in the component level design of our Library circulation system. i. Identify all design classes that correspond to the problem domain ii. Identify all design classes that correspond to the infrastructure domain iii. Elaborate all design classes iv. Describe persistent data sources (databases and files) and identify the classes required to manage them v. Develop and elaborate behavioral representations for a class or component vi. Elaborate deployment diagrams to provide additional implementation detail
  • 15. 15 | P a g e 2.1 Identify All Classes that Correspond to Problem Domain Figure 17: Problem domain classes
  • 16. 16 | P a g e 2.2 Identify All Classes that Correspond to Infrastructure Domain Figure 18: Infrastructure Domain Classes
  • 17. 17 | P a g e 2.3 Elaborate All Design Classes that are not acquired as Reusable Components Figure 19: Class elaboration
  • 18. 18 | P a g e Figure 20: Class elaboration
  • 19. 19 | P a g e Figure 21: Class elaboration
  • 20. 20 | P a g e Figure 22: Class elaboration
  • 21. 21 | P a g e Figure 23: Class elaboration
  • 22. 22 | P a g e Step- III(a) Specify Message Details when Classes or Components Collaborate Search Renew 1.ItemList := InputItem(itemName) 1.ItemDetails := selectItem(itemName) 2.ItemStatus := renewRequest(itemDetails)
  • 23. 23 | P a g e Issue Retreive 1.userDetails := selectUser(userName) 2.userStatus := checkUserStatus (user) 3.itemDetails := selectItem(itemName) 4.itemStatus := checkItemStatus (item) 1.userDetails := selectUser(userName) 3.itemDetails := selectItem(itemName) 2.Fine := checkFine(User)
  • 24. 24 | P a g e ItemAvailability NotifyUser 1.itemAvailability := notify(Item,ItemNumber) 1.userDetails := selectUser(userName) 3.confirmation := sendNotification (report) 2.itemDetails := selectItem(itemName)
  • 25. 25 | P a g e BlockUser calculateFine generateReport 1.userDetails := selectUser(userName) 3.confirmation := sendNotification (report) 4. confirmation := changeUserStatus(user) 2.itemDetails := selectItem(itemName) 1.duration := getDuration(user,item) 3.fineRate := getRate(itemType) 2.itemType := getItemType(item)
  • 26. 26 | P a g e Step-III(b) Identify Appropriate Interfaces for each Component Search 1.fineNotification := getNotification() 2.userDetails := getUser() 3. email := acquireEmail(user) 4.confirmation := reportGenerateAndSend (fineDetails)
  • 27. 27 | P a g e Renew Issue
  • 28. 28 | P a g e Retrieve ItemAvailability
  • 29. 29 | P a g e NotifyUser BlockUser
  • 30. 30 | P a g e CalculateFine GenerateReport
  • 31. 31 | P a g e Step-III(c) Elaborate Attributes and Define Data Types and Data Structures Required to Implement them Attribute Name Class Data Type/Data Structure user_type user enum user_name user,administrator,librarian string password user,administrator,librarian string user_status user enum e-mail user,administrator,librarian string report_no report int intended_user report int date report date report_type report enum fine_type fine Enum fine_amount fine Int assigned_user fine, item Int assigned_item fine Int fine_rate fine Double borrowing_duration fine Int item_type item Enum call_number item Int item_status item Enum
  • 32. 32 | P a g e Step-III(d) Describe Processing Flow within each Operation in Detail Search Input Item Validate Input retrieve Arrange Alphabetically Arrange by Arrival Date Arrange by Category show arrangeType=Name arrangeType=ArrivalDate arrangeType=Category
  • 33. 33 | P a g e Renew Select Item Show Item Details Renew Request Check Item Availability Update available
  • 34. 34 | P a g e Issue Select User Select Item Check Item Availability Update Item,User available Not available Check User Availability active blocked
  • 35. 35 | P a g e Retreive Select User Select Item Update User Check Fine no yes Generate Report Update Item
  • 36. 36 | P a g e Item Availability Notify User Select Item Type Count Item No Connect DB Notify Librarian Select User Get Data Select Item Generate Notification Send Notification
  • 37. 37 | P a g e Block User Calculate Fine Select User Get Data Select Item Generate Notification Send Notification Block User Get Duration Get Rate Get Item Type Calculate
  • 38. 38 | P a g e Generate Report Get Notification Get User Calculate Fine Acquire Email Send Notification Update User
  • 39. 39 | P a g e 2.4 Describe Persistent Data Sources and Identify the Classes Required to Manage them • Date Source – User Database – Item Database • Required Class – DB Connect – DAO
  • 40. 40 | P a g e 2.5 Develop and Elaborate Behavioral Representations for a Class or Component Administrator
  • 41. 41 | P a g e Librarian
  • 42. 42 | P a g e User
  • 43. 43 | P a g e Item Report
  • 44. 44 | P a g e DAO
  • 45. 45 | P a g e 2.6 Elaborate Deployment Diagrams to Provide Additional Implementation Detail
  • 46. 46 | P a g e Chapter 3 User Interface Design 3.0 Introduction User interface design creates an effective communication medium between a human and a computer. The interface has to be right because it models a user’s perception of the software. As we know that a key tenet of all software engineering process models is “understand the problem before you attempt to design a solution”, we analysis the interface before starting the design steps. 3.1 Interface Analysis We divide interface analysis into following parts: i. User Analysis ii. Task Analysis 3.1.1 User Analysis In this part we follow two steps: a. Identify user b. Know user Identify user From the requirements specification we have identified following four user categories. 1. Librarian 2. Student 3. Faculty 4. Admin Know user We collect following information about the users. Librarian Age: 30-50 Work type: Clerical Skills: Average Domain expert: Yes Application expert: No
  • 47. 47 | P a g e Office hour: Normal Frequency of use: Very frequently Consequence of a mistake: High General computer experience: Yes Student Age: 20-30 Skills: Average Frequency of use: Occasionally Consequence of a mistake: Low General computer experience: Yes Teacher Age: 30-60 Skills: Above Average Frequency of use: Occasionally Consequence of a mistake: Low General computer experience: Yes 3.1.2 Task Analysis In this step we identify and analyze the tasks of every users separately. Librarian: Librarian has following tasks. 1. Issue Goal: Issue the requested item Precondition:  User must be eligible for taking requested item  Item is available Sub-task: i. Check user status ii. Check item status
  • 48. 48 | P a g e iii. Update user status iv. Update item status 2. Retrieve Goal: Receive borrowed item Precondition:  Item must be issued for the particular user Sub-task: i. Update user status ii. Update item status Student and Faculty: 1. Search Goal: Search an item 2. Renew Goal: Renew an item Precondition:  Logged in as valid user  Item must be available Sub-task: Logged in 3. Booking Goal: Booking an item Precondition:  Valid User  Valid but unavailable Item at the particular time Sub-task:  Check item status  Send request
  • 49. 49 | P a g e Admin: 1. Configure the Due Date for an Item Goal: Change the Due Date for an Item Precondition:  Valid Item Sub-task:  Search user 2. Configure the Fine for Overdue Item: Goal: Change the Due Date for an Item Sub-task:  Search item 3. Change user type Goal: Change the user type Precondition:  Valid User Sub-task:  Update user status
  • 50. 50 | P a g e 3.2 Interface Design Steps We follow the following steps to design the Library Circulation System (LCS) user interface. i. Define interface objects and actions ii. Define events that will cause the state of the user interface to change iii. Depict each interface state as it look to end user 3.2.1 Define interface objects and actions We identified following objects and actions for the user interface. A. External a. Home Figure 31: External Home
  • 51. 51 | P a g e b. Items Figure 32: External Items c. About d. FAQ e. Login f. Contact
  • 52. 52 | P a g e B. Internal : Librarian a. Dashboard Figure 33: Librarian Dashboard
  • 53. 53 | P a g e b. Configure : Change user type Figure 34: Change user type (Librarian) c. Change user type : Modify Figure 35: Change user type: Modify (Librarian)
  • 54. 54 | P a g e d. Change Item Borrowing Duration Figure 36: Change Item Borrowing Duration (Librarian) e. Change Item Borrowing Duration: Modify Figure 37: Change Item Borrowing Duration: Modify(Librarian)
  • 55. 55 | P a g e f. Manage Item: Add/Edit Item Figure 38: Manage Item: Add/Edit Item g. Manage Item: Add/Edit Item: Add Figure 39: Manage Item: Add/Edit Item: Add
  • 56. 56 | P a g e h. Manage Item: Add/Edit Item: Modify Figure 40: Manage Item: Add/Edit Item: Modify i. Manage Item: Delete Item Figure 41: Manage Item: Delete Item
  • 57. 57 | P a g e j. Management: Issue Figure 42: Management: Issue
  • 58. 58 | P a g e k. Management: Retrieve Figure 43: Management: Retrieve
  • 59. 59 | P a g e l. Management: Return Figure 44: Management: Return
  • 60. 60 | P a g e m. Manage User Figure 45: Manage User
  • 61. 61 | P a g e n. Change Password Figure 46: Change Password
  • 62. 62 | P a g e C. Internal: User a. Dashboard Figure 47: Dashboard (User)
  • 63. 63 | P a g e b. Borrow: New Item Figure 48: Borrow: New Item
  • 64. 64 | P a g e c. Borrow: Renew Figure 49: Borrow: Renew
  • 65. 65 | P a g e d. Check Status Figure 50: Check Status
  • 66. 66 | P a g e e. Change Password Figure 51: Change Password
  • 67. 67 | P a g e D. Internal : Admin a. Dashboard Figure 52: Dashboard
  • 68. 68 | P a g e b. Configuration: User Management Figure 53: Configuration: User Management
  • 69. 69 | P a g e c. Configuration: Item Type Management Figure 54: Configuration: Item Type Management
  • 70. 70 | P a g e d. Management: Fine Figure 55: Management: Fine
  • 71. 71 | P a g e e. Management: Borrowing Duration Figure 56: Management: Borrowing Duration
  • 72. 72 | P a g e f. Change Password Figure 57: Change Password
  • 73. 73 | P a g e 3.2.2 Define events that will cause the state of the user interface to change
  • 74. 74 | P a g e
  • 75. 75 | P a g e
  • 76. 76 | P a g e 3.2.3 Depict each interface state as it look to end user Figure 59: Home
  • 77. 77 | P a g e Figure 60: Items
  • 78. 78 | P a g e Figure 61: Login Form
  • 79. 79 | P a g e Figure 62: Admin Dashboard
  • 80. 80 | P a g e Chapter 4 Conclusion We are pleased to submit the final Software Design and Analysis report on Library circulation system. From this, the readers will get a clear and easy view of library circulation system. To improve Library System efficiency, library management needs to automate the acquisition and circulation tasks. A library with automated software system is more effective than paper based manual system. This document can be used effectively to maintain software development cycle. It will be very easy to conduct the whole project using it. Hopefully, this document can also help our junior BSSE batch students. We tried our best to remove all dependencies and make effective and fully designed document. We believe that reader will find it in order.
  • 81. 81 | P a g e Appendix References 1. Pressman, Roger S. Software Engineering: A Practitioner's Approach (7th ed.). Boston, Mass: McGraw-Hill. ISBN 0-07-285318-2 2. Ralph, Paul (2012). "The Illusion of Design in Software Development". Engineering 3. Sommerville, I. Software Engineering, 7th ed. Harlow, UK: Addison Wesley, 2006 4. http://www.mnhe.com/pressman, accessed on 7th November, 2013 5. http://www.mks.com/solutions/discipline/rm/software-engineering, accessed on 6th November, 2012 6. http://www-01.ibm.com/software/awdtools/reqpro/, accessed on 29th October, 2012