Amir Mustefa Beimnet Zewdu Bereket Heramo Beshir Dekebo: Advisor: Mr. Fitsum Alemu May 2018
Amir Mustefa Beimnet Zewdu Bereket Heramo Beshir Dekebo: Advisor: Mr. Fitsum Alemu May 2018
Table of Contents
1. Introduction ................................................................................................................................. 1
i|Page
[SOFTWARE DESIGN SPECIFICATION] MAY 2018
List of Tables
ii | P a g e
[SOFTWARE DESIGN SPECIFICATION] MAY 2018
List of Figures
iii | P a g e
[SOFTWARE DESIGN SPECIFICATION] MAY 2018
iv | P a g e
[SOFTWARE DESIGN SPECIFICATION] MAY 2018
1. Introduction
1.1. Purpose
The purpose of System Design document is to translate the business requirements and business
processes into a technical design that will be used to develop the application.
The first reason of choosing MVC system architecture is the aim of providing different views from
a single model. In our case, Record Data Model have three different views ‘View Record’, ‘Change
Remark’, and ‘Attach Receipt’.
The second reason of choosing MVC architectural model is the aim of fulfilling the key element
of the system’s nonfunctional requirements, which is securing employees and manager
information and account credentials (UserData model). As MVC provides a better foundation for
implementing security components at the interface of each level.
Another reason of choosing MVC is its modification without affecting the entire model nature.
Since the system is a web application at some point of development or after deployment Kurtu Int.
may require a change of user interface. When this happen, we do not have to worry about the
Model, we can only change the view without affecting the model. Because in MVC system
architecture the model and the view are isolated.
In addition to this, we are left with a very limited period to complete the project. Therefore, MVC’s
rapid and parallel development nature help us to facilitate the development process and to handle
the partitioning of the tasks among the members based on our will and ability.
1|Page
[SOFTWARE DESIGN SPECIFICATION] MAY 2018
The system is expected to be implemented using the latest and powerful web markup and scripting
languages.
2|Page
[SOFTWARE DESIGN SPECIFICATION] MAY 2018
3|Page
[SOFTWARE DESIGN SPECIFICATION] MAY 2018
HTTP
PDO
4|Page
[SOFTWARE DESIGN SPECIFICATION] MAY 2018
3. Object Model
3.1. Class Diagram
5|Page
[SOFTWARE DESIGN SPECIFICATION] MAY 2018
6|Page
[SOFTWARE DESIGN SPECIFICATION] MAY 2018
7|Page
[SOFTWARE DESIGN SPECIFICATION] MAY 2018
8|Page
[SOFTWARE DESIGN SPECIFICATION] MAY 2018
9|Page
[SOFTWARE DESIGN SPECIFICATION] MAY 2018
10 | P a g e
[SOFTWARE DESIGN SPECIFICATION] MAY 2018
11 | P a g e
[SOFTWARE DESIGN SPECIFICATION] MAY 2018
12 | P a g e
[SOFTWARE DESIGN SPECIFICATION] MAY 2018
13 | P a g e
[SOFTWARE DESIGN SPECIFICATION] MAY 2018
4. Detailed Design
4.1. UserData Class
Table 2 UserData Class
UserData
-firstName: String
-lastName: String
-companyName: String
-userName: String
-password: String
+register(): void
+verifyEmployeeAccount(): void
14 | P a g e
[SOFTWARE DESIGN SPECIFICATION] MAY 2018
+verifyAdminAccount(): void
userName String private It should contain characters and integers and should
be unique.
firstName String private firstName <> NULL and Its length should be greater
than 6 and shouldn’t contain special characters and
integers
lastName String private lastName <> NULL and Its length should be greater
than 6 and shouldn’t contain special characters and
integers
companyName String private companyName <> NULL and must contain company
name and shouldn’t contain special characters and
integers
password
companyName
15 | P a g e
[SOFTWARE DESIGN SPECIFICATION] MAY 2018
RecordData
-materialName: String
-materialType: String
-requestNumber: int
-unit: String
-quantity: int
-price: double
-totalPrice: double
-requestDate: String
-purchaseDate: String
-status: String
-shop: String
-address: String
-phoneNumber: int
+addRecord(): void
+viewRecord(): String[]
+deleteRecord(): void
+changeRemark(): void
+attachReceipt(): void
16 | P a g e
[SOFTWARE DESIGN SPECIFICATION] MAY 2018
17 | P a g e
[SOFTWARE DESIGN SPECIFICATION] MAY 2018
MessageData
-name: String
-message: String
+addMessage(): void
+retreiveMessage(): String[]
18 | P a g e
[SOFTWARE DESIGN SPECIFICATION] MAY 2018
AccountController
+registerMember(): void
+signAdminIn(): void
+signEmployeeIn(): void
19 | P a g e
[SOFTWARE DESIGN SPECIFICATION] MAY 2018
companyName
RecordController
+getRecord(): String[]
+getDoneRecord(): String[]
+getPendingRecord(): String[]
+saveFile(): void
+saveRecord(): void
20 | P a g e
[SOFTWARE DESIGN SPECIFICATION] MAY 2018
+changeRecord(): void
+removeRecord(): void
21 | P a g e
[SOFTWARE DESIGN SPECIFICATION] MAY 2018
MessageController
+getMessage(): String[]
+sendMessage(): void
22 | P a g e
[SOFTWARE DESIGN SPECIFICATION] MAY 2018
Reference
1. VisualParadigm. (2011, Nov 13). 5 Steps to Draw a Sequence Diagram [video file].
Retrieved from https://www.youtube.com/watch?v=18_kVlQMavE. Apr 26, 2018.
2. Derek Banas. (2012, Nov 12). UML 2 Sequence Diagrams [video file]. Retrieved from
https://www.youtube.com/watch?v=cxG-qWthxt4. Apr 28, 2018.
3. Derek Banas. (2011, Nov 26). UML 2 State Machine Diagrams [video file]. Retrieved
from https://www.youtube.com/watch?v=_6TFVzBW7oo&t=628s. Apr 26, 2018.
4. Object-Oriented Software Development Method,
https://www.researchgate.net/publication/234816065_The_Object-
Oriented_Software_Development_Method_A_Practical_Approach_to_Object-
Oriented_Development, May 2, 2018.
5. Somerville, Ian F. 2011. Software Engineering. 9th ed. Boston. Address Wesley.
23 | P a g e