Vous êtes sur la page 1sur 1

CSSE-414: Advanced Software Engineering

Course Incharge: Mr. Hussain Saleem, Assistant Professor

Department of Computer Science, University of Karachi. Copyrighted Material © 2018, 2019.
Software Design, Modeling & Architecture Engineering
(Scenario-Based Assignment/Workshop)
Objective: Following is the table containing Scenario Questions extracted from [Pressman, 7th ed] Book Chapter-end problems. You are required
to first Read the whole Chapter and then follow the standard guidelines to sketch the Architectural Diagrams for the given Scenarios. Your diagrams
should be neat and clean hand-sketched with concerned density of information or labels. Also you may alternatively use MS-Visio drawing tool
to sketch the same professionally. You may seek help from your Project Mentor.
Timeline: (1) 28-10-2019 ~ 10-11-2019.
Submission: Use the method prescribed in given Assignment Template. All Assignments/Scenario Files should be compiled as Hardcopy and
Softcopy as well and must be submitted on Turnitin links on deadline. Submissions via emails and Late will not be considered or evaluated. This
is not a group assigned work. Assignment submission ethics should must be followed.
S. No. Problem No. Scenario Questions
Develop a complete use case for all of the following activities:
(1) Making a withdrawal at an ATM
1. 5-9 (2) Using your charge card for a meal at a restaurant
(3) Buying a stock using an on-line brokerage account
(4) Searching for books (on a specific topic) using an on-line bookstore
You have been asked to build one of the following systems:
(1) A network-based course registration system for your university.
(2) A Web-based order-processing system for a computer store.
2. 6-5 (3) A simple invoicing system for a small business.
(4) An Internet-based cookbook that is built into an electric range or microwave.
(5) Select the system that is of interest to you and develop an entity-relationship diagram that describes data objects,
relationships, and attributes.
The department of public works for a large city has decided to develop a Web-based pot-hole tracking and repair
system (PHTRS). A description follows:
Citizens can log onto a website and report the location and severity of potholes. As potholes are reported they are logged within
a “public works department repair system” and are assigned an identifying number, stored by street address, size (on a scale of
1 to 10), location (middle, curb, etc.), district (determined from street address), and repair priority (determined from the size of
the pothole). Work order data are associated with each pothole and include pothole location and size, repair crew identifying
number, number of people on crew, equipment assigned, hours applied to repair, hole status (work in progress, repaired,
3. 6-6 temporary repair, not repaired), amount of filler material used, and cost of repair (computed from hours applied, number of
people, material and equipment used). Finally, a damage file is created to hold information about reported damage due to the
pothole and includes citizen’s name, address, phone number, type of damage, and dollar amount of damage. PHTRS is an online
system; all queries are to be made interactively.
(1) Draw a UML use case diagram for the PHTRS system. You’ll have to make a number of assumptions about the
manner in which a user interacts with this system.
(2) Develop a class model for the PHTRS system.
Develop a complete set of CRC model index cards on the product or system you chose as part of Problem 6.5.
4. 6-8
Suggest three requirements patterns for a modern mobile phone and write a brief description of each. Could these
5. 7-9 patterns be used for other devices. Provide an example.
Select one of the patterns you developed in Problem 7.9 and develop a reasonably complete pattern description similar
6. 7-10 in content and style to the one presented in Section 7.4.2.
Suggest a design pattern that you encounter in a category of everyday things (e.g., consumer electronics, automobiles,
7. 8-7 appliances). Briefly describe the pattern.
Apply a “stepwise refinement approach” to develop three different levels of procedural abstractions for the following
(1) Develop a check writer that, given a numeric dollar amount, will print the amount in words normally required on
8. 8-12 a check.
(2) Iteratively solve for the roots of a transcendental equation.
(3) Develop a simple task scheduling algorithm for an operating system.
Refer the Problem 6.6 after completion. Use the design methods described in Chapter-6/Chapter-9 to develop a
9. 9-7 software architecture for the PHTRS.
Using a data flow diagram and a processing narrative, describe a computer-based system that has distinct transform
10. 9-8 flow characteristics. Define flow boundaries and map the DFD into a software architecture using the technique
described in Section 9.6.1.
Develop (1) an elaborated design class, (2) interface descriptions, (3) an activity diagram for one of the operations
11. 10-8 within the class, and (4) a detailed state-chart diagram for one of the SafeHome classes that are discussed in earlier
Select a small portion of an existing program (approximately 50 to 75 source lines). Isolate the structured programming
constructs by drawing boxes around them in the source code. Does the program excerpt have constructs that violate
12. 10-11 the structured programming philosophy? If so, redesign the code to make it conform to structured programming
constructs. If not, what do you notice about the boxes that you’ve drawn?
Select a small coded component and represent it using (1) an activity diagram, (2) a flowchart, (3) a decision table,
13. 10-13 and (4) PDL.