system design 3.docx

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

Upload: jeffrey-mccoy

Post on 10-Nov-2015

218 views

Category:

Documents


0 download

TRANSCRIPT

3. System design3.1 IntroductionSystem 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 objectivesThe 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 classDocumenting class model is used to document the detail about a class as well as the reasoningBehind any trade off .The following are the documentation of the class model for the student information system.Student classAttributePurposeType

SidRepresent student unique identifierString

NameRepresent Name of studentString

AgeRepresent Age of studentInt

SexRepresent Sex of studentString

DepartmentRepresent department of studentString

YearRepresent academic year of student.Int

SemesterRepresent at what semester is the student studyInt

Mother nameRepresent Mother name of studentString

Method for the student classMethod Purpose

View grade report()Used to view student SGPA,CGPA,PGPA

View course result()Used to view each individual course result

Submit assignment()Used to submit assignment for the teacher

Register 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 teacher

View notice()Used to view notice which is posted

Send feedback()Used to send feed back

Instructor classAttributePurposeType

UsernameRepresent user name of the instructor used in the systemString

PasswordRepresent the password used in order to access the systemString

Method for the instructor classMethod Purpose

view submitted assignment()View assignments submitted by the student

Post assignment()Post assignments for students

Submit grade()Submit grade to department

view course information()Used to view course related information

Enter course result()Enter course result of the course

Edit course result()Used to update course result if the error happens.

login()Used to enter the site by entering username and password

Department classAttribute PurposeType

DidUniquely identify departmentString

DnameRepresents name of the departmentString

Course classAttribute PurposeType

CcodeUniquely identify the courseString

CnameRepresents name of the courseString

PrerequisiteRepresent Perquisite of courseString

Chrs Represents credit hour of the courseInt

Account classAttribute PurposeType

UsernameUniquely identify the user to enter the siteString

Password Represents name of the courseString

User type Represents privileges of the userString

Status Represents status of the user Int

Record officer classAttributePurposeType

IdRepresent record officer unique identifierString

NameName of record officerString

UsernameUsed to identify the user enter to the site String

PasswordUsed to enter to the systemString

Method for Record officer classMethod Purpose

Register()To register new students as a member

Validate()

Update stud information()Change/update student information when necessary

View submitted grades()View/retrieve student grade

Approve grade submission()Approve grade submitted by the department

Post notices()Announce new notices

Login()Accessing the system

Method for system admin classMethod Purpose

Add user profile()To record user profile

Block user()Block/ignore users when users are not important

Change user profile()Change/update user profile when necessary

View user profileView/retrieve user profile

View log event()View log information to manage the users

Login()Accessing the system

Method for department head classMethod Purpose

View course info()View information of the course

Post notices()Announcing when there is new thing

View student list()View how many students are present in the department

Approve grade submissionApprove grades that the teacher posts

View feedback()View feed feedback from users

Login()Accessing the system

Method for registrar manger classMethod Purpose

View reports()View deferent reports from users

print()Print reports

login()Accessing the system

Method for college dean classMethod Purpose

Post notices()Announcing when there is new thing

View student list()View how many students are present in the department

Approve grade submissionApprove grades that the department posts

View feedback()View feed feedback from users

Login()Accessing the system

4.3 Collaboration diagramA 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 modelPhysical 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 tableColumn nameData type Primary keyForeign keyUniquenessNullable

SIDVarchar (255) No

NameVarchar (255)yes

Age Int yes

Sex Varchar (255)yes

Dept idVarchar (255) yes

year Auto Incrementyes

Semester Int yes

Table 3.4: Course tableColumn name Data TypePrimary keyForeign KeyUnique keyNullable

Course CodeVarchar(255)

Course NameVarchar(255)

PrerequisiteVarchar(255)

DeptIDInt

Chr Int

Table 3.5: Department tableColumn nameData typePrimary keyForeign keyUnique keyNullable

DeptIDInt(Auto Increment)

DeptNamevarchar (255)

Table 3.6: Instructor tableEntityValue/lengthPrimary keyForeign keyUnque keyNullable

Instructor IDVarchar(255)

Name Varchar(255)

Username Varchar(255)

Password Varchar(255)

DeptIDVarchar(255)

Table 3.7: Student Course tableColumn nameData TypePrimary keyForeign keyUnique keyNullable

SIDVarchar(255)

Course CodeVarchar(255)

CrHrsInt

SemesterINUM(1,2,3)

YearEnum(255)

GradeChar(A, B, C, D, F)

Grade PointInt

Accad YearYEAR

3.8: Instructor Course TableColumn nameData TypePrimary keyForeign keyUnique KeyNallable

instructor IDVarchar(255)

Course CodeVarchar(255)

Table 3.9: Instructor Student TableColumn nameData TypePrimary keyForeign KeyUnique keyNullable

InstructorIDVarchar(255)

StudentIDVarchar(255)

Table 3.10:System Administrator tableColumn nameData TypePrimary keyForeign keyUnique keyNullable

UsernameVarchar(255)

PasswordVarchar(255)

Table 3.11: studSemReport tableColumn nameData TypePrimary keyForeign keyUnique keyNullable

SIDVarchar(255)

SemisterINUM(1,2,3)

YearInt(255)

AccadYearYEAR

GPAFloat

CGPAFloat

AcademicStatusVarchar

Table:-Record officer tableColumn nameData TypePrimary keyForeign keyUnique keyNullable

IDVarchar(255)

Name Varchar(255)

Username Varchar(255)

Password Varchar(255)

Table:-department head tableColumn nameData TypePrimary keyForeign keyUnque keyNullable

IDVarchar(255)

Name Varchar(255)

Username Varchar(255)

Password Varchar(255)

Table:-college dean tableColumn nameData TypePrimary keyForeign keyUnque keyNullable

IDVarchar(255)

Name Varchar(255)

Username Varchar(255)

Password Varchar(255)

Table:-Registrar manager tableColum nameData TypePrimary keyForeign keyUnque keyNullable

IDVarchar(255)

Name Varchar(255)

Username Varchar(255)

Password Varchar(255)

Table:-Account tableColumn nameData type Primary keyForeign keyUnque keyNullable

Username Varchar(255)

Password Varchar(255)

User typeVarchar(255)

Status Varchar(255)

3.5 Normalization3.6 User interface3.7 systems Architecture (component, deployment and Network diagram)Component diagramIn 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 thestructuralrelationship 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 AdminRecord officerRegistrar MangerStudentInstructorDepartment HeadCollege deanview noticeView grade Reportview course InformationSubmit AssignmentView course Resultview posted AssignmentsManage usersPost noticeView log View reportsPrintRegister student InformationEdit student InformationApprove grade submissionView submitted GradesSubmit gradeView submitted AssignmentEdit course ResultPost AssignmentApprove grade SubmissionView submitted GradePost noticeView registered Student listInfrastructureSecurityInfrastructurePersistent DatabaseStudentInformation System Web portalDatabaseAuthenticationDeployment diagramThe name Deployment itself describes the purpose of the diagram. Deployment diagrams are used for describing the hardware components where software components are deployed. Component diagrams and deployment diagrams are closely related.Component diagrams are used to describe the components and deployment diagrams shows how they are deployed in hardware. UML is mainly designed to focus on software artifacts of a system. But these two diagrams are special diagrams used to focus on software components and hardware components. So most of the UML diagrams are used to handle logical components but deployment diagrams are made to focus on hardware topology of a 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) serverApplication serverDatabase serverSystem AdminRecord officerRegistrar MangerStudentInstructorDepartment HeadCollege deanPost noticeView reportsPrintManage usersView log eventsEdit student InformationApprove grade SubmissionView submitted GradesRegister student InformationView noticeView course InformationSubmit AssignmentView course ResultView posted AssignmentsView grade ReportSubmit gradeView submitted AssignmentEdit course ResultPost AssignmentApprove grade SubmissionView submitted GradePost noticeView registered Student listLinkLinkLinkLinkLinkLinkLinkOracle DatabaseSecurityLinkLinkLinkLinkLinLinkLinkLinkLinkLinkLinkLinkLinkLinkLinkLinkLinkLink4. Discussion and Results5. Conclusion and Future workReference1) http://www.agiledata.org/essays/objectOrientation101.html2) http://www.ibm.com/developerworks/rational/library/content/RationalEdge/sep04/bell/3) http://en.wikipedia.org/wiki/Class_diagram4) http://www.1keydata.com/datawarehousing/physical-data-model.html5) http://www.visual-paradigm.com/VPGallery/diagrams/Component.html6) http://en.wikipedia.org/wiki/Component_diagram7) http://www.umldiagrams.org/componediagrams.html8) http://en.wikipedia.org/wiki/Deployment_diagram9) http://www.visual-paradigm.com/VPGallery/diagrams/Deployment.html10) http://www.ibm.com/developerworks/rational/library/content/RationalEdge/sep04/bell/11) http://www.uml-diagrams.org/deployment-diagrams.html