Student Information System Requirements Definitions Sisrd

Thestudent Information System Requirements Definitions Sisrddocument

Thestudent Information System Requirements Definitions Sisrddocument

The Student Information System Requirements Definitions (SISRD) document is the requirements definition document of a new software product that keeps track of the records of both courses and their offerings as classes for educational institutions. The goal of this software product is to maintain and track information about the courses offered by the institution and the classes with which these courses are offered. The product supports two kinds of classes— online classes accessible over the internet and face-to-face classes offered on the grounds of the educational institution. The users of the system are the staff of the institution. You are hired as a consultant software architect to design the class responsibility collaboration (CRC) cards for this system.

From the Courses and Classes Records System Requirements Definitions document, identify the classes of the system. Using the provided CRC card template, document each class showing its responsibilities, collaborations, attributes, and relationships. Links to UML drawing tools: draw.io Visio Embed your diagram into your post to the discussion forum with each class showing its responsibilities, collaborations, attributes, and relationships. For instructions on embedding files, view the Using the Blackboard Text Editor document. After embedding your model, make sure to complete the other deliverables listed below: CRC cards Verification and validation of your work An explanation of your work and how you arrived at your solution A reflection on your learning experience and lesson learned.

Paper For Above instruction

The development of a Class Responsibility Collaboration (CRC) card model for a Student Information System (SIS) involves identifying the core classes, defining their responsibilities, attributes, and collaborations, and illustrating their relationships within the system. This process is vital for designing an object-oriented system that accurately captures the functional requirements and supports the management of course and class records within an educational institution.

Identification of Core Classes

The core classes in this system can be derived from the key functionalities described in the requirements. The primary classes include:

  • Course: Represents a university or college course with details like course code, name, description, and credits.
  • ClassOffering: Represents an offering of a course, including specific semester, year, and identifier, linking to either online or face-to-face classes.
  • OnlineClass: Specialization of ClassOffering for online classes, including internet platform details and access credentials.
  • FaceToFaceClass: Specialization of ClassOffering for physical classes, including classroom location and schedule.
  • Staff: Represents staff members managing courses and classes, such as faculty or administrative personnel.
  • Schedule: Manages the scheduling details for face-to-face classes.

CRC Card Details

Below is a detailed outline of each class, formatted as CRC cards, describing responsibilities, collaborations, and attributes.

1. Course

Responsibilities: Maintain course details including course code, name, description, and credits. Provide information about the course offered.

Collaborations: Collaborates with ClassOffering to link specific class instances to the course.

Attributes: courseCode, courseName, description, credits

2. ClassOffering

Responsibilities: Represent a specific offering of a course in a particular semester and year; manage whether it's online or face-to-face. Link to the appropriate class type.

Collaborations: Collaborates with Course to identify which course is offered, with OnlineClass or FaceToFaceClass to specify class type, and with Staff for instructor assignment.

Attributes: offeringID, semester, year, classType (Online/Face-to-Face), instructorID

3. OnlineClass

Responsibilities: Store information specific to online classes, including platform details and access credentials.

Collaborations: Collaborates with ClassOffering to link a class offering as online.

Attributes: platform, accessLink, loginCredentials

4. FaceToFaceClass

Responsibilities: Store physical location, schedule, and physical resources associated with the face-to-face class.

Collaborations: Collaborates with ClassOffering for physical class details.

Attributes: location, schedule (linked to Schedule class)

5. Staff

Responsibilities: Maintain staff records, assign staff to classes, and manage instructor responsibilities.

Collaborations: Collaborates with ClassOffering to assign instructors.

Attributes: staffID, name, role, contactInformation

6. Schedule

Responsibilities: Manage schedules for face-to-face classes, including days and times.

Collaborations: Collaborates with FaceToFaceClass to specify timing details.

Attributes: days, startTime, endTime

Relationships and UML Diagram

The classes are interconnected through associations: Course to ClassOffering (one-to-many), ClassOffering to OnlineClass/FaceToFaceClass (one-to-one polymorphic), and ClassOffering to Staff (many-to-one). The UML diagram models these relationships with appropriate multiplicities and inheritance for specialized classes.

Verification and Validation

Validation involves cross-checking the CRC cards with the system requirements, ensuring all functionalities are covered, and verifying relationships mirror the actual system flow. Testing interactions ensure, for example, that a ClassOffering correctly references either an OnlineClass or a FaceToFaceClass, and that staff assignments are feasible.

Work Explanation and Solution Approach

The approach began by analyzing the requirements document to extract core system entities. Next, classes were identified and categorized based on their responsibilities and attributes. Relationships were mapped considering the real-world interactions, such as a course having multiple offerings and each offering having a specific class type. UML diagrams were created using draw.io to visualize these relationships clearly. This systematic process ensures a comprehensive design supporting the system's functional goals.

Reflection and Lessons Learned

This exercise enhanced understanding of object-oriented design principles, especially the utility of CRC cards in early design phases. It illustrated the importance of clear responsibilities and collaborations in building scalable, maintainable systems. Learning how to map real-world entities to system classes, and how to leverage UML diagrams for better visualization, proved invaluable for designing complex informational systems. The process also highlighted the importance of iterative validation and continuous refinement in system development.

References

  • Ambler, S. (2003). The Object Primer: Agile Model-Driven Development with UML 2.0. Cambridge University Press.
  • Fowler, M. (2004). UML Distilled: A Brief Guide to the Standard Object Modeling Language. Addison-Wesley.
  • Booch, G., Rumbaugh, J., & Jacobson, I. (2005). The Unified Modeling Language User Guide. Addison-Wesley.
  • Ralph, P., & Rumpe, B. (2002). Model-Driven Development. IEEE Software, 19(5), 31-37.
  • Jacobson, I., Booch, G., & Rumbaugh, J. (1999). The Unified Software Development Process. Addison-Wesley.
  • Pressman, R. S. (2014). Software Engineering: A Practitioner's Approach. McGraw-Hill Education.
  • Pressman, R. S., & Maxim, B. R. (2014). Software Engineering: A Practitioner's Approach. McGraw-Hill Education.
  • Object Management Group. (2017). OMG Unified Modeling Language (UML) Specification. Version 2.5.1.
  • Sommerville, I. (2015). Software Engineering. Pearson.
  • Martin, R. C. (2008). Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall.