23
3. System design 3.1 Introduction System design is the transformation of the analysis model into a system design model. Up to now we were in the problem domain. System design is the first part to get into the solution domain in a software development. This chapter focuses on transforming the analysis model into the design model that takes into account the non-functional requirements and constraints described in the problem statement and requirement analysis sections discussed earlier. The purpose of designing is to show the direction how the system is built and to obtain clear and enough information needed to drive the actual implementation of the system. It is based on understanding of the model the software built on. The objectives of design are to model the system with high quality. Implementing of high quality system depend on the nature of design created by the designer. If one wants to change to the system after it has been put in to operation depends on the quality of the system design. So if the system is design effetely, it will be easy to make changes to it. 3.1.1 Design goals and objectives The objectives of design are to model the system with high quality. The design goals are derived from non-functional requirements that means non-functional requirement is the

3. System design 3.1 Introduction

Embed Size (px)

Citation preview

3. System design3.1 Introduction

System design is the transformation of the analysis model into a

system design model. Up to now we were in the problem domain.

System design is the first part to get into the solution domain

in a software development. This chapter focuses on transforming

the analysis model into the design model that takes into account

the non-functional requirements and constraints described in the

problem statement and requirement analysis sections discussed

earlier.

The purpose of designing is to show the direction how the system

is built and to obtain clear and enough information needed to

drive the actual implementation of the system. It is based on

understanding of the model the software built on. The objectives

of design are to model the system with high quality. Implementing

of high quality system depend on the nature of design created by

the designer. If one wants to change to the system after it has

been put in to operation depends on the quality of the system

design. So if the system is design effetely, it will be easy to

make changes to it.

3.1.1 Design goals and objectives

The objectives of design are to model the system with high

quality. The design goals are derived from non-functional

requirements that means non-functional requirement is the

description of the feature characteristics and attribute of the

system as well as any constraints that may limit the boundary of

the proposed solution.

Design goals describe the qualities of the system that the

developers should consider.

Reliability: Debre markos university student information

system portal should be reliable.

Fault Tolerance: Debre markos university student information

system portal should be fault tolerant to loss of

connectivity with the service.

Security: Debre markos university student information system

portal should be secured, i.e., not allow other users or

unauthorized users to access data that has no the right to

access it.

Modifiability: Debre markos university student information

system portal should be modifiable for further modification

and enhancement of the application.

Performance: - The system should respond fast with high

throughput, i.e. it should perform the task quickly possible

as possible such as submitting students grades reports and

generating students grade reports, viewing student grade

report and other related information etc.

Cost: The system should be developed with minimum cost

possible. In reality there is always trade-offs or

disadvantages and therefore from its previous experience the

University prefers to invest more on development cost than

maintenance cost to minimize bugs which may appear at the

later stage.

End User Criteria: - The system should have simple and

understandable graphical user Interface such as forms and

buttons, which have descriptive names. It should give

reliable response for each user request at least

before the session expires. All the interfaces, forms and

buttons are written or designed in a simple language or

common language so that the user can access it without any

difficult.

3.2 Design the class diagramThe class diagram is a static diagram. It represents the static

view of an application. Class diagram is not only used for

visualizing, describing and documenting different aspects of a

system but also for constructing executable code of the software

application.

The class diagram describes the attributes and operations of a

class and also the constraints imposed on the system. The classes

diagrams are widely used in the modeling of object oriented

systems because they are the only UML diagrams which can be

mapped directly with object oriented languages.

The class diagram shows a collection of classes, interfaces,

associations, collaborations and constraints. It is also known as

a structural diagram.

Documenting the class

Documenting class model is used to document the detail about a

class as well as the reasoning

Behind any trade off .The following are the documentation of the

class model for the student information system.

Student class

Attribute Purpose TypeSid Represent student

unique identifier

String

Name Represent Name of

student

String

Age Represent Age of Int

studentSex Represent Sex of

student

String

Department Represent department

of student

String

Year Represent academic

year of student.

Int

Semester Represent at what

semester is the

student study

Int

Mother name Represent Mother

name of student

String

Method for the student class

Method Purpose View grade report() Used to view student

SGPA,CGPA,PGPAView course result() Used to view each individual

course resultSubmit assignment() Used to submit assignment for

the teacherRegister on course() Used to register on course View course info() Used to view relevant

information about the course

matter.View posted assignments() Used to view assignments

submitted by the teacherView notice() Used to view notice which is

postedSend feedback() Used to send feed back

Instructor class

Attribute Purpose TypeUsername Represent user name

of the instructor

used in the system

String

Password Represent the

password used in

order to access the

system

String

Method for the instructor class

Method Purpose view submitted assignment() View assignments submitted by

the studentPost assignment() Post assignments for studentsSubmit grade() Submit grade to departmentview course information() Used to view course related

informationEnter course result() Enter course result of the

courseEdit course result() Used to update course result

if the error happens.login() Used to enter the site by

entering username and passwordDepartment class

Attribute Purpose Type Did Uniquely identify

department

String

Dname Represents name of

the department

String

Course class

Attribute Purpose Type Ccode Uniquely identify

the course

String

Cname Represents name of

the course

String

Prerequisite Represent Perquisite

of course

String

Chrs Represents credit

hour of the course

Int

Account class

Attribute Purpose Type Username Uniquely identify

the user to enter

the site

String

Password Represents name of

the course

String

User type Represents privileges

of the user

String

Status Represents status of

the user

Int

Record officer class

Attribute Purpose TypeId Represent record

officer unique

identifier

String

Name Name of record

officer

String

Username Used to identify the

user enter to the

site

String

Password Used to enter to the

system

String

Method for Record officer class

Method PurposeRegister() To register new students as a

member Validate()Update stud information() Change/update student

information when necessaryView submitted grades() View/retrieve student gradeApprove grade submission() Approve grade submitted by the

departmentPost notices() Announce new notices Login() Accessing the system

Method for system admin class

Method PurposeAdd user profile() To record user profile

Block user() Block/ignore users when users

are not importantChange user profile() Change/update user profile when

necessaryView user profile View/retrieve user profileView log event() View log information to manage

the usersLogin() Accessing the system

Method for department head class

Method PurposeView course info() View information of the coursePost notices() Announcing when there is new

thingView student list() View how many students are

present in the departmentApprove grade submission Approve grades that the teacher

postsView feedback() View feed feedback from usersLogin() Accessing the system

Method for registrar manger class

Method PurposeView reports() View deferent reports from

usersprint() Print reportslogin() Accessing the system

Method for college dean class

Method PurposePost notices() Announcing when there is new

thingView student list() View how many students are

present in the departmentApprove grade submission Approve grades that the

department postsView feedback() View feed feedback from usersLogin() Accessing the system

4.3 Collaboration diagram

A collaboration diagram describes interactions among objects in

terms of sequenced messages. Collaboration diagrams represent a

combination of information taken from class, sequence, and use

case diagrams describing both the static structure and dynamic

behavior of a system.

The UML Collaboration diagram is used to model how objects

involved in a scenario interact, with each object instantiating a

particular class in the system. Objects are connected by links,

each link representing an instance of an association between the

respective classes involved. The link shows messages sent between

the objects, and the type of message passed.

3.2 State machine diagram (optional)

3.4 Physical data model

: User

Hom e Page

Login Link

Login Form

Validator

Database

6:

9:

User Visit home page () Select Login Link()

Display The Login Form()

Fill The Username and Password()

Submit()

Display The Target Page()

Try again()

Validate()

Check()

Continue()

1:

5:

2:

3:

4:

7:

8:

10:

Physical data model represents how the model will be built in the

database. A physical database model shows all table structures,

including column name, column data type, column constraints,

primary key, foreign key, and relationships between

tables.source:-[4]

Table 3.3: Student table

Column name Data type Primary key

Foreign key

Uniqueness

Nullable

SID Varchar (255)

No

Name Varchar (255)

yes

Age Int yes

Sex Varchar (255)

yes

Dep’t id Varchar (255)

yes

year Auto Increment

yes

Semester Int yes

Table 3.4: Course table

Column name Data Type Primarykey

Foreign Key

Unique key

Nullable

Course Code Varchar(2

55)

Course Name Varchar(255)

Prerequisite

Varchar(255)

DeptID Int

Chr Int

Table 3.5: Department table

Column name

Data type Primary key

Foreign key

Unique key

Nullable

DeptID Int(Auto Increment)

DeptName varchar (255)

Table 3.6: Instructor table

Entity Value/length

Primary key

Foreign key

Unque key Nullable

InstructorID

Varchar(255)

Name Varchar(255)

Username Varchar(255)

Password Varchar(255)

DeptID Varchar(255)

Table 3.7: Student Course table

Column name

Data Type Primarykey

Foreign key

Unique key Nullable

SID Varchar(255)

Course Code

Varchar(255)

CrHrs Int

Semester INUM(1,2,3)

Year Enum(255)

Grade Char(A, B,C, D, F)

Grade Point

Int

Accad Year

YEAR

3.8: Instructor Course Table

Column name

Data Type

Primary key

Foreign key

Unique Key

Nallable

instructor ID

Varchar(255)

Course Code

Varchar(255)

Table 3.9: Instructor Student Table

Column name

Data Type Primary key

Foreign Key

Unique key

Nullable

InstructorID

Varchar(255)

StudentID Varchar(255)

Table 3.10:System Administrator table

Column name

Data Type

Primary key

Foreign key

Unique key

Nullable

Username Varchar(255)

Password Varchar(255)

Table 3.11: studSemReport table

Column name

Data Type

Primary key

Foreign key

Unique key

Nullable

SID Varchar(255)

Semister INUM(1,2,3)

Year Int(255)

AccadYear YEAR

GPA Float

CGPA Float

AcademicStatus

Varchar

Table:-Record officer table

Column name

Data Type

Primary key

Foreign key

Unique key

Nullable

ID Varchar(255)

Name Varchar(255)

Username Varchar(255)

Password Varchar(255)

Table:-department head table

Column name

Data Type

Primary key

Foreign key

Unque key

Nullable

ID Varchar(255)

Name Varchar(255)

Username Varchar(255)

Password Varchar(255)

Table:-college dean table

Column name

Data Type

Primary key

Foreign key

Unque key

Nullable

ID Varchar(255)

Name Varchar(255)

Username Varchar(255)

Password Varchar(255)

Table:-Registrar manager table

Colum name Data Type

Primary key

Foreign key

Unque key

Nullable

ID Varchar(255)

Name Varchar(255)

Username Varchar(255)

Password Varchar(255)

Table:-Account table

Column name

Data type

Primary key

Foreign key

Unque key

Nullable

Username Varchar(255)

Password Varchar(255)

User type Varchar(255)

Status Varchar(255)

3.5 Normalization

3.6 User interface

3.7 systems Architecture (component, deployment and Network

diagram)

Component diagram

In the Unified Modeling Language, a component diagram depicts how

components are wired together to form larger components and or

software systems. They are used to illustrate the structure of

arbitrarily complex systems. A component diagram displays

the structural relationship of components of a software system.

These are mostly used when working with complex systems that have

many components. Components communicate with each other using

interfaces. The interfaces are linked using connectors. Component

diagrams show the physical placement of the components in the

system. It is a type of design diagram that shows overall system

architecture and the logical components within it for how the

system implemented. Source:[5, 6, 7]

System Admin

Record officer

Registrar Manger

Student

Instructor

Department Hea

d

College dean

view notice

View grade Report

view course Information

Submit Assignme

nt

View course Resu

lt

view posted Assignments

Manage usersPost

noticeView log

View reports

Print

Register student InformationEdit student Information

Approve grade submissionView submitted Grade

s

Submit grade

View submitted Assignment

Edit course Result

Post Assignme

nt

Approve grade Submission

View submitted Grad

e

Post notice

View registered Student list

«Infrastructure»Securi

ty

«Infrastructure»Persist

ent Database

StudentInforma

tion System

Web portalDataba

se

«Authentication»

Deployment diagram

The name Deployment itself describes the purpose of the diagram.Deployment diagrams are used for describing the hardwarecomponents where software components are deployed. Componentdiagrams and deployment diagrams are closely related.

Component diagrams are used to describe the components anddeployment diagrams shows how they are deployed in hardware.

UML is mainly designed to focus on software artifacts of asystem. But these two diagrams are special diagrams used to focuson software components and hardware components.

So most of the UML diagrams are used to handle logical componentsbut deployment diagrams are made to focus on hardware topology ofa system. Deployment diagrams are used by the system engineers.

The purpose of deployment diagrams can be described as:

Visualize hardware topology of a system. Describe the hardware components used to deploy software

components. Describe runtime processing nodes.

Source: -[8, 9, 10, 11]

Client (browser) server

Application server

Database server

System Admin

Record officer

Registrar Manger

Student

Instructor

Department Head

College dean

Post notice

View reports

Print

Manage usersView log eventsEdit student InformationApprove

grade SubmissionView submitted Grade

sRegister student InformationView notice

View course Information

Submit Assignme

nt

View course Resu

lt

View posted Assignments

View grade Report

Submit grade

View submitted Assignment

Edit course Resu

lt

Post Assignme

nt

Approve grade Submission

View submitted Grad

e

Post notice

View registered Student list

LinkLink

Link

LinkLinkLink

Li nk

Oracle Database

Security

LinkLinkLinkLinkLinLinkLink

LinkLinkLink

Link

Link

Link

Link

Link

Li nk

Li nk

Li nk

4. Discussion and Results

5. Conclusion and Future work

Reference

1) http://www.agiledata.org/essays/objectOrientation101.html

2) http://www.ibm.com/developerworks/rational/library/content/

RationalEdge/sep04/bell/

3) http://en.wikipedia.org/wiki/Class_diagram

4) http://www.1keydata.com/datawarehousing/physical-data-

model.html

5) http://www.visual-paradigm.com/VPGallery/diagrams/

Component.html

6) http://en.wikipedia.org/wiki/Component_diagram

7) http://www.umldiagrams.org/componediagrams.html

8) http://en.wikipedia.org/wiki/Deployment_diagram

9) http://www.visual-paradigm.com/VPGallery/diagrams/

Deployment.html

10) http://www.ibm.com/developerworks/rational/library/

content/RationalEdge/sep04/bell/

11) http://www.uml-diagrams.org/deployment-diagrams.html