system design 3.docx
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