SlideShare a Scribd company logo
1 of 81
Download to read offline
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 design specification
Software design specificationSoftware design specification
Software design specification
SubhashiniSukumar
 
Software Requirement Specification Master Template
Software Requirement Specification Master TemplateSoftware Requirement Specification Master Template
Software Requirement Specification Master Template
Wayne Chen
 
2.software requirement specification
2.software requirement specification2.software requirement specification
2.software requirement specification
Deepak Sharma
 
2.1 project management srs
2.1 project management   srs2.1 project management   srs
2.1 project management srs
Anil Kumar
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notes
Sudarshan Dhondaley
 

What's hot (20)

Software requirement specification
Software requirement specificationSoftware requirement specification
Software requirement specification
 
Software design specification
Software design specificationSoftware design specification
Software design specification
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
 
Software Requirement Specification Master Template
Software Requirement Specification Master TemplateSoftware Requirement Specification Master Template
Software Requirement Specification Master Template
 
Software requirement specification(SRS)
Software requirement specification(SRS)Software requirement specification(SRS)
Software requirement specification(SRS)
 
Software requirement specification
Software requirement specificationSoftware requirement specification
Software requirement specification
 
Interaction Modeling
Interaction ModelingInteraction Modeling
Interaction Modeling
 
System requirements specification (srs)
System requirements specification (srs)System requirements specification (srs)
System requirements specification (srs)
 
2.software requirement specification
2.software requirement specification2.software requirement specification
2.software requirement specification
 
Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specification
 
Quality Attributes In Software Architecture & Design Patterns
Quality Attributes In Software Architecture & Design PatternsQuality Attributes In Software Architecture & Design Patterns
Quality Attributes In Software Architecture & Design Patterns
 
SRS for student database management system
SRS for student database management systemSRS for student database management system
SRS for student database management system
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
Uml class-diagram
Uml class-diagramUml class-diagram
Uml class-diagram
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
2.1 project management srs
2.1 project management   srs2.1 project management   srs
2.1 project management srs
 
SDLC MODEL
SDLC MODEL SDLC MODEL
SDLC MODEL
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notes
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Software requirements
Software requirementsSoftware requirements
Software requirements
 

Viewers also liked

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
 
Software requirements specification
Software  requirements specificationSoftware  requirements specification
Software requirements specification
Krishnasai Gudavalli
 
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
 
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
 

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
 
Software Architecture Document Final
Software Architecture Document FinalSoftware Architecture Document Final
Software Architecture Document Final
 
Software Architectural And Detailed Design Description Template
Software Architectural And Detailed Design Description TemplateSoftware Architectural And Detailed Design Description Template
Software Architectural And Detailed Design Description Template
 
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 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
 
Software requirements specification
Software  requirements specificationSoftware  requirements specification
Software 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
 
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
 
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
 

Similar to Software Design Document

Event Management System Document
Event Management System Document Event Management System Document
Event Management System Document
LJ PROJECTS
 
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
 
Ch. 3.pdf
Ch. 3.pdfCh. 3.pdf
Ch. 3.pdf
RajniSavaliya
 

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

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

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Recently uploaded (20)

Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 

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