CS304 June 2011 PDF
CS304 June 2011 PDF
Question 2:
Consider the following description of an on-line university registration system:
The system should enable the staff members of each academic department to
examine the courses offered by their department, add and remove courses, and
change the information about courses (e.g. the maximum number of students
permitted). The system should permit students to examine currently available
courses, add and drop courses to and from their schedules, and examine the courses
for which they are enrolled. Department staff should be able to print a variety of
reports about the courses and the students enrolled in them. The system should
ensure that no student takes too many courses and that students who have any unpaid
fees are not permitted to register (assume that a fees data store is maintained by the
university's financial office, which the registration system accesses but does not
change).
(i) Identify the primary actors of this system, and write the corresponding use cases
in brief format.
(ii) Draw the use-case diagram for this system.
(iii) Identify the conceptual classes, which make up this system, their attributes, and
associations between them.
Question 3:
(a) List the questions that are explored in the inception phase of the Unified
Process (UP) approach.
(b) Define the three kinds of actors, and explain why we identify them.
(c) Write in C++, the header of the software class Sale represented by the following
design class diagram (DCD).
Sale
date: Date
Payment isComplete: Boolean SalesLineItem
Paid-by time : Time Contains
amount: Money quantity: Integer
1 1 1 1..*
becomeComplete()
… getSubtotal()
makeLineItem(...)
makePayment(...)
getTotal()
P.T.O.
1/3
This study source was downloaded by 100000898610833 from CourseHero.com on 04-27-2025 10:38:23 GMT -05:00
https://www.coursehero.com/file/108742199/CS304-June-2011pdf/
Question 4:
This question contains 10 multiple choice questions. Select best correct answer for
each question.
1. The three stages of the implementation phase of software engineering are:
A) System analysis, design, implementation
B) Design, code generation, testing
C) System analysis, software project planning, requirements analysis
D) software project planning, requirements analysis, maintenance
2. What are three criteria for ranking/organizing requirements? (Choose three.)
A) Risk
B) Reliability
C) Coverage
D) Criticality
E) Cost
3. Software developers start preparation for deployment during ________ phase of
project.
A) construction
B) inception
C) elaboration
D) transition
4. The Implementation Model consists of:
A) conceptual classes, associations, attributes
B) source code, executables, database
C) interaction diagrams, software classes, methods
D) use-cases, system sequence diagrams, conceptual classes
5. The Conceptual Class Category List is used in creating:
A) The design class diagram (DCD)
B) The use-case model
C) The domain model
D) The system sequence diagram
6. The design class diagram is defined as:
A) A diagram that illustrates the specifications for software classes in an
application
B) A visual representation of conceptual classes or real-world objects in a
problem domain.
C) A dynamic model showing changes of state of a single object over time
D) A way of visualizing how objects work together over time.
7. A use-case realization describes:
A) the interactions between actors and the system
B) the design of one or more scenarios of a use case
C) the steps and decision points that occur within the behavior of an object
D) the changes of state of a single object over time
P.T.O.
2/3
This study source was downloaded by 100000898610833 from CourseHero.com on 04-27-2025 10:38:23 GMT -05:00
https://www.coursehero.com/file/108742199/CS304-June-2011pdf/
8. We define an association with a navigability arrow from class X to class Y when
A) X is an organizational subunit of Y
B) X is next to Y
C) X manages Y
D) X sends a message to Y
9. Which of these is a UML notation for depicting objects interactions?
A) Class diagram.
B) Object diagram.
C) Sequence diagram.
D) Use-case diagram.
10. Which of the following is NOT a non-functional system requirement?
A) cost
B) reliability
C) usability
D) performance
E) maintainability
Good Luck…
Prof. Dr. Moheb Ramzy Girgis
3/3
This study source was downloaded by 100000898610833 from CourseHero.com on 04-27-2025 10:38:23 GMT -05:00
https://www.coursehero.com/file/108742199/CS304-June-2011pdf/
MINIA UNIVERSITY Second Term, June 2011
FACULTY OF SCIENCE Final Examination
Department of Computer Science Software Engineering (CS304)
3rd – Level CS Students Time allowed: 2 hrs
Model Answer
Question 1:
(a) Define the terms: (i) Software Engineering Process.
(ii) Computer-Aided Software Engineering (CASE).
(b) Explain only the Testing and Maintenance activities of the classic life cycle
model.
(c) Explain the two primary benefits of encapsulation.
(b) The Testing and Maintenance activities of the classic life cycle model:
Testing: The testing process focuses on:
the logical internals of the software, assuring that all statements have been
tested, and
the functional externals - that is, conducting tests to uncover errors and
ensure that defined input will produce actual results that agree with required
results.
Maintenance:
Software will undoubtedly undergo change after it is delivered to the customer
(a possible exception is embedded software). Change will occur because:
errors have been encountered,
the software must be adapted to accommodate changes in its external
environment (e.g. a new operating system or peripheral device), or
the customer requires functional or performance enhancements.
This study source was downloaded by 100000898610833 from CourseHero.com on 04-27-2025 10:38:23 GMT -05:00
https://www.coursehero.com/file/108742199/CS304-June-2011pdf/
Question 2:
Consider the following description of an on-line university registration system:
The system should enable the staff members of each academic department to
examine the courses offered by their department, add and remove courses, and
change the information about courses (e.g. the maximum number of students
permitted). The system should permit students to examine currently available
courses, add and drop courses to and from their schedules, and examine the courses
for which they are enrolled. Department staff should be able to print a variety of
reports about the courses and the students enrolled in them. The system should
ensure that no student takes too many courses and that students who have any unpaid
fees are not permitted to register (assume that a fees data store is maintained by the
university's financial office, which the registration system accesses but does not
change).
(i) Identify the primary actors of this system, and write the corresponding use cases
in brief format.
(ii) Draw the use-case diagram for this system.
(iii) Identify the conceptual classes, which make up this system, their attributes, and
associations between them.
(i) The actors of the on-line university registration system, and the corresponding use
cases in brief format:
Use Case 1: Manage courses
Actor: Department staff
Main Success Scenario:
The staff members of each academic department examine the courses offered by their
department, add and remove courses, and change the information about courses (e.g.
the maximum number of students permitted).
Use Case 2: Print reports
Actor: Department staff
Main Success Scenario:
Department staff members print a variety of reports about the courses and the
students enrolled in them.
Use Case 3: Manage Schedule
Actor: Student
Main Success Scenario:
Students examine currently available courses, add and drop courses to and from their
schedules, and examine the courses for which they are enrolled.
If a student tries to take more the allowed number of courses, the system reject the
student request.
Before registering a student, the system checks with the university's financial office
that the student has paid the fees. If not, the student is not permitted to register.
(ii) The use-case diagram of this system:
On-Line University
Registration System
Manage courses
Department
Print reports Staff Member
Manage Schedule
Student
This study source was downloaded by 100000898610833 from CourseHero.com on 04-27-2025 10:38:23 GMT -05:00
https://www.coursehero.com/file/108742199/CS304-June-2011pdf/
(iii) The conceptual classes, which make up this system, their attributes, and associations
between them.
Staff member Academic Student Schedule
Belong to Department
* 1
1 1 1
Offer
Manage
* 1
Manage * Enroll in
Course Student
* 1..*
Question 3:
(a) List the questions that are explored in the inception phase of the Unified
Process (UP) approach.
(b) Define the three kinds of actors, and explain why we identify them.
(c) Write in C++, the header of the software class Sale represented by the following
design class diagram (DCD).
Sale
date: Date
Payment isComplete: Boolean SalesLineItem
Paid-by time : Time Contains
amount: Money quantity: Integer
1 1 1 1..*
becomeComplete()
… getSubtotal()
makeLineItem(...)
makePayment(...)
getTotal()
(a) The questions that are explored in the inception phase of the Unified Process
(UP) approach:
What is the vision and business case for this project?
Feasible?
Buy and/or build?
Rough estimate of cost: Is it $10K-100K or in the millions?
Should we proceed or stop?
This study source was downloaded by 100000898610833 from CourseHero.com on 04-27-2025 10:38:23 GMT -05:00
https://www.coursehero.com/file/108742199/CS304-June-2011pdf/
Offstage actor: has an interest in the behavior of the use case, but is not
primary or supporting; for example, a government tax agency.
Why identify? To ensure that all necessary interests are identified and
satisfied. Offstage actor interests are sometimes subtle or easy to miss unless
these actors are explicitly named.
(c) The header of the software class Sale represented by the following design class
diagram (DCD).
class Sale {
private:
Date date;
bool isComplete;
Time time;
Payment payment;
SalesLineItem salesLineItem[10];
public:
becomeComplete();
makeLineItem(...);
makePayment(...);
getTotal();
}
Question 4:
This question contains 10 multiple choice questions. Select best correct answer for
each question.
1. The three stages of the implementation phase of software engineering are:
A) System analysis, design, implementation
B) Design, code generation, testing
C) System analysis, software project planning, requirements analysis
D) software project planning, requirements analysis, maintenance
2. What are three criteria for ranking/organizing requirements? (Choose three.)
A) Risk
B) Reliability
C) Coverage
D) Criticality
E) Cost
3. Software developers start preparation for deployment during ________ phase of
project.
A) construction
B) inception
C) elaboration
D) transition
4. The Implementation Model consists of:
A) conceptual classes, associations, attributes
B) source code, executables, database
C) interaction diagrams, software classes, methods
D) use-cases, system sequence diagrams, conceptual classes
This study source was downloaded by 100000898610833 from CourseHero.com on 04-27-2025 10:38:23 GMT -05:00
https://www.coursehero.com/file/108742199/CS304-June-2011pdf/
5. The Conceptual Class Category List is used in creating:
A) The design class diagram (DCD)
B) The use-case model
C) The domain model
D) The system sequence diagram
6. The design class diagram is defined as:
A) A diagram that illustrates the specifications for software classes in an
application
B) A visual representation of conceptual classes or real-world objects in a
problem domain.
C) A dynamic model showing changes of state of a single object over time
D) A way of visualizing how objects work together over time.
7. A use-case realization describes:
A) the interactions between actors and the system
B) the design of one or more scenarios of a use case
C) the steps and decision points that occur within the behavior of an object
D) the changes of state of a single object over time
8. We define an association with a navigability arrow from class X to class Y when
A) X is an organizational subunit of Y
B) X is next to Y
C) X manages Y
D) X sends a message to Y
9. Which of these is a UML notation for depicting objects interactions?
A) Class diagram.
B) Object diagram.
C) Sequence diagram.
D) Use-case diagram.
10. Which of the following is NOT a non-functional system requirement?
A) Cost
B) reliability
C) usability
D) performance
E) maintainability
This study source was downloaded by 100000898610833 from CourseHero.com on 04-27-2025 10:38:23 GMT -05:00
https://www.coursehero.com/file/108742199/CS304-June-2011pdf/
Powered by TCPDF (www.tcpdf.org)