Reference no: EM133701375
Object Oriented Analysis and Design
Overview
Throughout the course, you will develop the skills required of a software architect-a role that is in high demand in the software industry. This final project resembles a typical develc project of an actual software designer or software architect. You will have the opportunity to apply, practice, and receive feedback on how software systems are designed using objec orientation and Unified Modeling Language (UML) modeling.
For this assessment, you will assume the role of a consultant tasked with designing a Student Information System (SIS) for a small college that offers both online and face-to-face clas SIS should keep track of students' information and their course registrations. You will be provided with information about the system, its business context, and its requirements. Witl information, you will need to design the software system by applying object-oriented techniques and methods and UML modeling.
Specifically, this final project is divided into three different parts, which will each be submitted separately. Each part focuses on a different stage in the development process, and will completed in sequence throughout the course. Additionally, at each stage you will validate and verify your design, explain how you arrived at it, and reflect upon your process and les learned. Through the milestones, you will have an opportunity to gather feedback first before you submit final versions. The three final project submissions are Part I: Functional Moc submitted in Module Two then revised and submitted in Module Four). Part II: SIS Structural Model (first submitted in Module Four then revised and submitted in Module Six), and P. Behavioral Model (first submitted in Module Six then revised and submitted in Module Eight).
Prompt
You, as a software architect, did a good job on the functional model of the SIS. The small college is happy with your functional model and has approved it. The college wants you to prc the next step of the SIS structural model.
Based on your SIS functional model, create an SIS structural model consisting of:
• A class responsibility collaboration (CRC) card for each class in your model (Refer to pages 178-181 in your textbook.)
• A class diagram (Refer to pages 181-200 in your textbook.)
From the SIS functional model, identify the classes of your structural model. You should have between six to nine classes. Using the provided Part II Solution Submission Template (lir Module Four of your course), document each class showing its responsibilities, collaborations, attributes, and relationships.
Formalize the information from the CRC cards into a class diagram. Your class diagram should use the class relationships of association, generalization, aggregation, and composition structure the classes and should indicate the multiplicities of these relationships. The class diagram must be generated by a UML drawing tool. After creating your model, make sure complete the other deliverables listed below.
Specifically, the following critical elements must be addressed:
• Creation: Analyze your SIS functional model and create a structural model UML class diagram. Classes in the class diagram should include all the classes that are needed to real cases. The class diagram should also include all the relationships among these classes. Provide a CRC card for each class in your class diagram that describes the class purpose, responsibilities, and class collaboration with other classes.
• Testing Verify and validate your structural model against your functional model of the SIS system. (Refer to pages 200-203 in your textbook.)
• Approach Explanation: Explain your approach to creating your structural model and the design decisions you made to create it.
• Self-Reflection: Discuss your experience creating your structural model and the lessons you learned from it. Specifically, draw connections between your experience and the of oriented techniques and methods discussed in this course.
Student Information System Requirements Definitions
Nonfunctional Requirements:
• The student information system (SIS) should be accessible as both a website and a mobile app.
• The SIS users are students and enrollment staff.
• The SIS should enforce appropriate security privileges to its uses.
Functional Requirements:
• Maintain Student Records
o The SIS should maintain records of basic information about students such as:
a) First name
b) Middle initials
c) Last name
d) Date of birth
e) Student ID
f) Department (e.g., psychology)
g) Cumulative GPA (on a scale of 1.0 to 4.0)
o These records are updated by the enrollment staff who has the permissions to add, modify, and/or delete any student record.
• Maintain Course Records
o The SIS should maintain records of all the courses offered by the college.
o The system should maintain the following fields for each course:
a) Course ID
b) Course name
c) Credit hours
d) Description
e) Prerequisite course
o These records are updated by the enrollment staff who has the permissions to add, modify, and/or delete any course record.
• Maintain Class Records
o Classes are offered each semester of the above courses.
o There are two kinds of classes: Online classes offered over the internet are accessible via a web browser and face-to-face classes are offered on campus at the college.
o A class cannot exist without an associated course in the system.
o The basic information to maintain for all kinds of classes include the following:
a) Course ID
b) Class begin date
c) Class end date
o In addition, online classes also maintain the following information:
a) Class URL
b) Class browser
o Similarly, face-to-face classes should maintain this additional information about them:
a) Class building
b) Class room
o These records are updated by the enrollment staff who has the permissions to add, modify, and/or delete any class record (either online or face-to-face).
• Register a Student for Classes
o Both students and enrollment staff should be able to register a student (either online or face-to-face) for a class offering for a course. The registration process should proceed as follows:
a) The student information is entered to identify the registering student.
b) The course information for which to register is entered to identify the course.
c) All future classes with start dates after the current date for this course are displayed.
d) The enrollment staff enter future classes for only one semester out.
e) A selection of one class for which to register is then made.
f) The selected class registration is then validated against the following registration rules:
i. There is no duplicate registration for the same class in one semester.
ii. Online class registration requires students to acknowledge that they have the required hardware and software to access online classes.
iii. No more than three class registrations are allowed for one student in one semester unless the student's GPA is greater than 3.5. (In this case, there is no limit on number of class registrations.)
o When the class registration is validated against the above rules, a confirmation is then displayed to confirm registration. Otherwise, a message explaining the violation of the associated rule is displayed.
o The process continues, starting from item b), until the user ends the session.
Courses and ClassesRecords System
Requirements Definitions
Nonfunctional Requirements
• The system should be accessible over the internet sentence.
• Only staff members are the users of the system.
• The system should ensure that only allowed users are able to use the system.
Functional Requirements
• Maintain Course Records
o The system should maintain CRUD operations on (i.e., provide CREATE, READ, UPDATE, and DELETE operations on) course records with the following attributes:
a) Course identification (e.g., IT 315)
b) Course name (e.g., Object-Oriented Analysis and Design)
c) Credit hours
d) Description
• Maintain Class Records
o Of the above courses, classes are offered each semester. There are two kinds of classes. Online classes are offered over the internet and accessible via a web browser; face-to-face classes that are offered on campus at the college. A class cannot exist without an associated course in the system
o The system should maintain CRUD operations on (i.e., provide CREATE, READ, UPDATE, and DELETE operations on) class records with the following attributes:
a) Course identification
b) Class begin date
c) Class end date
o In addition, online classes maintain the following additional attributes:
a) Class URL
b) Class browser
o Similarly, face-to-face classes maintain the following additional attributes:
a) Class building
b) Class room
1. Using this class responsibility collaboration (CRC) card template, document each class you identified from your student information system (SIS) functional model.
2. Verify and validate your CRC cards and class diagram against your SIS functional model:
3. Explain your approach to the problem, the decisions you made to arrive at your solution, and how you completed it:
4. Reflect on this experience and the lessons you learned from it: