SlideShare uma empresa Scribd logo
1 de 81
Baixar para ler 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

Mais conteúdo relacionado

Mais procurados

Software Engineering - chp4- design patterns
Software Engineering - chp4- design patternsSoftware Engineering - chp4- design patterns
Software Engineering - chp4- design patternsLilia Sfaxi
 
Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specificationlavanya marichamy
 
Software requirements specification (srs) by Dan Dharma
Software requirements specification (srs) by  Dan DharmaSoftware requirements specification (srs) by  Dan Dharma
Software requirements specification (srs) by Dan DharmaAvudaiappan Dharma Ph.D.,
 
Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12koolkampus
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Drusilla918
 
Software architect design documentation template
Software architect design documentation templateSoftware architect design documentation template
Software architect design documentation templateSalim M Bhonhariya
 
Modules and modularization criteria
Modules and modularization criteriaModules and modularization criteria
Modules and modularization criteriaUmaselvi_R
 
Software Development Life Cycle-SDLC
Software Development Life Cycle-SDLCSoftware Development Life Cycle-SDLC
Software Development Life Cycle-SDLCAdeel Rasheed
 
Data Flow Diagram
Data Flow DiagramData Flow Diagram
Data Flow Diagramnethisip13
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process ModelsHassan A-j
 
Unit 3 3 architectural design
Unit 3 3 architectural designUnit 3 3 architectural design
Unit 3 3 architectural designHiren Selani
 
Software Architecture and Design
Software Architecture and DesignSoftware Architecture and Design
Software Architecture and DesignRa'Fat Al-Msie'deen
 
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 SystemSoumili Sen
 
Srs template
Srs templateSrs template
Srs templatemuqeet19
 

Mais procurados (20)

Unit 2
Unit 2Unit 2
Unit 2
 
Software Design Document
Software Design DocumentSoftware Design Document
Software Design Document
 
Software Engineering - chp4- design patterns
Software Engineering - chp4- design patternsSoftware Engineering - chp4- design patterns
Software Engineering - chp4- design patterns
 
Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specification
 
Software requirements specification (srs) by Dan Dharma
Software requirements specification (srs) by  Dan DharmaSoftware requirements specification (srs) by  Dan Dharma
Software requirements specification (srs) by Dan Dharma
 
Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12Object Oriented Design in Software Engineering SE12
Object Oriented Design in Software Engineering SE12
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
 
Sdd 4
Sdd 4Sdd 4
Sdd 4
 
Software architect design documentation template
Software architect design documentation templateSoftware architect design documentation template
Software architect design documentation template
 
Modules and modularization criteria
Modules and modularization criteriaModules and modularization criteria
Modules and modularization criteria
 
Software Development Life Cycle-SDLC
Software Development Life Cycle-SDLCSoftware Development Life Cycle-SDLC
Software Development Life Cycle-SDLC
 
Data Flow Diagram
Data Flow DiagramData Flow Diagram
Data Flow Diagram
 
Srs sample
Srs sampleSrs sample
Srs sample
 
Srs example webapp
Srs example webappSrs example webapp
Srs example webapp
 
Jsp ppt
Jsp pptJsp ppt
Jsp ppt
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Unit 3 3 architectural design
Unit 3 3 architectural designUnit 3 3 architectural design
Unit 3 3 architectural design
 
Software Architecture and Design
Software Architecture and DesignSoftware Architecture and Design
Software Architecture and 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
 
Srs template
Srs templateSrs template
Srs template
 

Destaque

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 engineeringRavi Yasas
 
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 TemplateArash Sharif
 
Structured Approach to Solution Architecture
Structured Approach to Solution ArchitectureStructured Approach to Solution Architecture
Structured Approach to Solution ArchitectureAlan McSweeney
 
Solution Architecture Concept Workshop
Solution Architecture Concept WorkshopSolution Architecture Concept Workshop
Solution Architecture Concept WorkshopAlan McSweeney
 
Example requirements specification
Example requirements specificationExample requirements specification
Example requirements specificationindrisrozas
 
Software requirements specification
Software  requirements specificationSoftware  requirements specification
Software requirements specificationKrishnasai 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 DataAlan McSweeney
 
Generating Architectural Concepts & Design Ideas
Generating Architectural Concepts & Design IdeasGenerating Architectural Concepts & Design Ideas
Generating Architectural Concepts & Design IdeasWan 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 conceptswweinmeyer79
 
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 CafeHari
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineeringPreeti 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.docjimmykhan
 
Voicenger - Software Design Document
Voicenger - Software Design DocumentVoicenger - Software Design Document
Voicenger - Software Design DocumentVlad 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 WorkflowLisa Sabin-Wilson
 

Destaque (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 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
 
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
 
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
 
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
 

Semelhante a Software Design Document

Online eaxmination
Online eaxminationOnline eaxmination
Online eaxminationAditi_17
 
Event Management System Document
Event Management System Document Event Management System Document
Event Management System Document LJ PROJECTS
 
6.SE_Requirements Modeling.ppt
6.SE_Requirements Modeling.ppt6.SE_Requirements Modeling.ppt
6.SE_Requirements Modeling.pptHaiderAli252366
 
Brandon Miller Portfolio
Brandon Miller PortfolioBrandon Miller Portfolio
Brandon Miller Portfoliobrandonmiller3
 
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 systemArman Ahmed
 
Human Machine Learning and Analysis
Human Machine Learning and AnalysisHuman Machine Learning and Analysis
Human Machine Learning and AnalysisEmil Lupu
 
Portfolio
PortfolioPortfolio
Portfoliojeanux
 
COLLEGE PROJECT MANAGEMENT SYSTEM
COLLEGE PROJECT MANAGEMENT SYSTEMCOLLEGE PROJECT MANAGEMENT SYSTEM
COLLEGE PROJECT MANAGEMENT SYSTEMIRJET 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).pptxNeetuBairwa
 
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.pptxBharat Chawda
 
Software design of library circulation system
Software design of  library circulation systemSoftware design of  library circulation system
Software design of library circulation systemMd. 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 LSSEMSYogeshIJTSRD
 
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
 

Semelhante a 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
 

Mais de Nadia Nahar

Internship Final Report
Internship Final Report Internship Final Report
Internship Final Report Nadia Nahar
 
Deadlock detection
Deadlock detectionDeadlock detection
Deadlock detectionNadia Nahar
 
Remote Procedure Call
Remote Procedure CallRemote Procedure Call
Remote Procedure CallNadia Nahar
 
Final project report of a game
Final project report of a gameFinal project report of a game
Final project report of a gameNadia Nahar
 
Job Training Methods and Process
Job Training Methods and ProcessJob Training Methods and Process
Job Training Methods and ProcessNadia Nahar
 
Final document of software project
Final document of software projectFinal document of software project
Final document of software projectNadia Nahar
 
Information retrieval dynamic indexing
Information retrieval dynamic indexingInformation retrieval dynamic indexing
Information retrieval dynamic indexingNadia Nahar
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineeringNadia Nahar
 
Component level design
Component level designComponent level design
Component level designNadia Nahar
 
Architectural design presentation
Architectural design presentationArchitectural design presentation
Architectural design presentationNadia Nahar
 
Privacy act, bangladesh
Privacy act, bangladeshPrivacy act, bangladesh
Privacy act, bangladeshNadia Nahar
 
Long formal report
Long formal reportLong formal report
Long formal reportNadia Nahar
 
Adjusting the accounts
Adjusting the accountsAdjusting the accounts
Adjusting the accountsNadia 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 managementNadia Nahar
 

Mais de 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
 

Último

JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogueitservices996
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencessuser9e7c64
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profileakrivarotava
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorTier1 app
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 

Último (20)

JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profile
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryError
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 

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