Eastern Mediterranean University

advertisement
Eastern Mediterranean University - Computer Engineering Department
Software Engineering Program
CMSE-201 Fundamentals of Software Engineering - Midterm Exam
Instructor: Assoc. Prof. Dr. Alexander G. Chefranov
Duration: 75 Minutes
Open book, open notes
November 21, 2015
Q1) (22 points) Write two functional requirements for the EMU Online Dormitory Management
System. For one of them, describe a test case to verify correctness of its working (state before
start, input, output, state after the end)
1. A student can view information about the dormitory
2. A manager can enter information about the dormitory: plan of the dormitory, room
locations, room status (free, occupied)
Test case for Req. 1:
State before: EMU ODMS is populated with information about the dormitory, and room1
is free
Input: The student requests information about room1
Output: Room1 information is provided, its status is free
State after the end: Nothing changed in the EMU ODMD database
Q2) (22 points). Write two requirements, non-functional or domain, for the EMU Online
Dormitory Management System and specify their types (non-functional, domain). For one of the
requirements describe a verification procedure (inputs, outputs, how decision is made).
NF 1. The EMU ODMS allows accessing any option in less than 10 mouse clicks
Domain 2. Boys and girls are not allowed living on the same floor of the dormitory
Verification procedure:
Input: number-of-checks>=10; i=1;
Action: Loop while i<=number-of-checks times
User specifies Option-I;
Number-i=number of mouse clicks to reach Option-I;
Output: Number-I, i=1,..,number-of-checks
Decision: if (for any i=1,.., number-of-checks)(number-i<=10), then NF1 is verified;
Else NF1 is not verified
Q3) (22 points) For the following requirement to the EMU Online Dormitory Management
System “Only registered in the Dormitory students can enter it after 23.00” give structured
natural language main scenario description (each statement shall be numbered together with
indication of who is doing this action; if it is a message transfer, then the sender and receiver
shall be indicated as S=>R).
Timer->S 1. Time is 23.00
S->Lock 2. Close lock
1
Student comes after 23.00
St->S 1. Knock-knock
S->St 2. “Time is >=23.00. Only registered students are allowed entering. Please, your ID card,
PIN?”
St->S 3. ID card, PIN
S->DB 4. Check_registered(ID card, PIN)
DB->S 5. Result of checking ID card & PIN
Alt result is “not registered”
S->St 6. “Sorry, you are not registered. Please, contact Dormitory Officer”
Alt Result is “registered”
S->Lock 8. Unlock lock
S->St 9. “Please, you are welcome”
End Alt
Actors: System (S), Student (St), Timer, Database (DB), Lock
Q4) (34 points) What generic software process models do you know? What are their main
features? What generic process model fits best to the development of the EMU Online Dormitory
Management System? Give necessary explanations
Generic models: waterfall, evolutionary, component-based software engineering
Features:
1. Waterfall is for large long-life projects, team work. Requirements are well-defined, fairly
rare modified, next step is made after full completion of the previous one, and each step
is documented. The steps are requirements specification and analysis, design,
development, testing, operation
2. Evolutionary is for medium-size short-life projects. Requirements may be poorly defined
and understood, often changing, highly interactive systems
3. Component-based is for projects with well-defined requirements and existing
components fitting the requirement in large extent. The components are analyzed and
requirements may be changed fitting them or components modified.
EMU ODMS project seems well-defined long-life project needing maintenance in
operation, so waterfall model providing full documentation looks most suitable for it
2
Download