代写 UML software CSE 2102 – Introduction to Software Engineering March 26, 2019 Midterm Exam

CSE 2102 – Introduction to Software Engineering March 26, 2019 Midterm Exam
Name:
Page:
2
4
Total
Points:
60
40
100
Score:
1

1. Short Answer Questions
(a) [10 points] Identify two features of the Object Oriented programming paradigm and how they support Software Engineering.
(b) [10 points] Describe the Proxy and Holder design patterns and how they function. Describe how they are alike and how they differ.
2

(c) [10 points] Which phase of the software development lifecycle is the most time consuming and resource intensive? Why? Limit you answer to two to three sentences.
(d) [10points] Identifytwopropertiesofmodularsoftwaredesignanddiscussthedesirableranges of these two properties. Limit your response to two or three sentences for each property.
(e) Name two software qualities that can be assessed objectively and two that can only be assessed subjectively. Describe why the assessment of each quality is objective or subjective respectively.
i. [10 points] Objective Software Qualities
ii. [10 points] Subjective Software Qualities
3

2. [15 points] Software Architecture
The Student Registration System (SRS) allows students to register for course offerings. This process entails a student requesting enrollment in a particular class. Enrollment in a class is contingent upon meeting several criteria. First, the student must meet all prerequisites for the course. Verifying this involves checking that each prerequisite class appears in the student’s transcript with a passing grade. It is also required that only graduate students are permitted to register for graduate level classes. If there is a prerequisite that has not been met in the student’s transcript, the request is denied. If the student meets all prerequisites, the course’s schedule is verified against the student’s current schedule for that semester to ensure there are no time conflicts between courses on the student’s schedule. If there is a time conflict, the registration request is denied. Next, the capacity of the course selection is verified. That is, the system ensures there exists an open seat in the course offering and reserves this seat for the requesting student. Once a request meets the prerequisite, scheduling and availability requirements, the request must be approved by a faculty or staff member to ensure it is appropriate for the student to take the requested course in that semester of the student’s plan of study.
Identify the software architecture style which is most appropriate for this application. Indicate why your architecture of choice is appropriate for this application and provide a block diagram of your proposed solution.
4

3. [25 points] UML Class Diagram
The Student Registration System will involve people in several roles and with different capabilities.
• All users of the system will need to log in with a NetID and password.
• Students (both undergraduate and graduate) will need to be able to request enrollment in
courses.
• A student transcript contains all courses a student has taken in the past as well as grades earned.
• A course catalog stores all courses.
• A course must be able to provide its prerequisites.
• A course offering must be able to provide the course offered as well as the scheduled meeting times (lecture and lab) for that course offering.
• A course offering must also be able to provide a class roster as well as the number of enrolled students and the number of open seats for that course offering.
• Both faculty and some staff members must be able to approve deny or enrollment requests.
Provide a UML Class Diagram written from the specification perspective for an object oriented design that supports these requirements.
5