CS计算机代考程序代写 flex THE UNIVERSITY OF HONG KONG FACULTY OF ENGINEERING

THE UNIVERSITY OF HONG KONG FACULTY OF ENGINEERING
DEP ARTMENT OF COMPUTER SCIENCE
CSIS0297/COMP3297 Introduction to Software Engineering
Date: December 17, 2015 Time: 2:30pm – 5:30pm
Only approved calculators as announced by the Examinations Secretary can be used in this examination. It is the candidates’responsibility to ensure that their calculator operates satisfactorily, and candidates must record the name and type of the calculator used on the front page of the examination script.
Pencils may be used for diagrams.
If you need to make assumptions, please state them clearly in your answers.
Answer ALL questions. (100%) Use UML 2 for all diagrams.
P. 1of4
Not to be taken away

1. [10%) Process Measurement
Your team performs a small software development project in 4 iterations (Il to 14) and collects data on defects injected and removed in each iteration. A defect is counted as injected in an iteration if it escapes a principal activity in that iteration even if it is removed by a subsequent activity in the same iteration.
After the final iteration, but before the product is released, you have the following data:
Defects Removed
I1 I1 25 12 15 13 10 14 12
Defects Injected
12 13 14
60
50 100
20 20 24
Assume that the yield (defect removal effectiveness) of the final iteration, 14, was 80%.
a) What is the yield o f iteration 13?
b) What is the yield ofthe entire process?
2. [12%) Web Framework Architecture
a) Outline the way in which a web application framework such as Django supports the general separations of concerns that are a goal ofa layered application architecture.
b) Because of its specific design objectives, Django takes an MTV approach in contrast to the more typical MVC architecture. What are the practical differences between MTV and MVC frameworks?
c) In Django there is a lot of flexibility in where to locate an application’s business logic. Each has its advantages and disadvantages. Briefly discuss the various options.
3.(12%) SoftwareDesign
Listed below are a number of violations of design guidelines or principles. Outline the potential negative
consequences of each violation.
a) creating a fat fayade controller.
b) designing a subtype that is not substitutable for its base type.
c) assigning creational responsibilities to a class that does not already have visibility o f the type being created.
d) forcing a client to depend on methods it does not use.
e) assigning a task responsibility to a class that does not already possess the necessary information to
complete the task.
For the last of these, (e), suggest circumstances where choosing to violate the guideline could lead to a better overall design.
P. 2of4

4. [32%] Requirements Engineering
A small private Health Centre in Hong Kong requires a Medical Practice Management System to help manage administrative and financial processes. In the future the system will be extended to serve as a complete Clinic Management System.
Briefsummary ofthe Centre’s operations involvingtheproposedsystem
Patients contact front-desk staff to make appointments for consultations with medical staff. On arrival for an appointment, a patient informs a member of front-desk staff who records it on the system. On the first visit, patients are required to complete a form to supply personal details, medical history, and details of drug allergies. This information is used by front-desk staff to create a record for the patient. After registering their arrival with front-desk staff, a patient waits until called for their consultation. Following a consultation, the patient returns to the front desk to receive and pay a bill for all services associated with the visit.
There are three categories of medical staff at the Centre: doctors, nurses and therapists. A consultation can be with any one ofthese and the patient is billed a per-consultation charge which is different for each ofthe three categories of staff. Over time, a patient may consult with many different members of the Centre’s medical staff. During a consultation, a doctor may perfonn minor surgical procedures for which there are additional charges. The system maintains a catalogue of surgical procedures that can be performed at the Centre and, for each procedure, a list of consumables that will be used. The charge for a procedure is calculated in terms of a basic procedure charge plus the price of all consumables. A doctor may also prescribe drugs and medications. These are supplied by the Centre’s dispensary and are also charged for. The system does not monitor nor manage inventory, but it does maintain price lists of drugs and consumables. Nurses and therapists do not perform additional procedures or prescribe drugs.
Consider the following excerpts from a use-case for the system in casual form:
Conduct Consultation
Main success scenario:
The system alerts a member of medical staff that their patient has arrived for consultation. The staff member requests to view the patient’s recent history of consultations. The patient arrives at the consulting room and the staff member opens a new consultation record to begin the consultation. The staff member enters notes into the record. The consultation ends and the staff member closes the record. The system¡¤adds the record to the patient’s consultation history. The system generates a bill for the consultation and records it.
Alternate scenarios:
Ifa doctor wishes to prescribe drugs from Centre’s dispensary, the system allows the doctor to select drugs and specify quantity. A separate prescription is created for each drug and recorded for the consultation.
If a doctor wishes to perform a medical procedure, the system allows the doctor to select the procedure. The procedure is recorded for the consultation.
a) From the information supplied, construct a partial domain model illustrating the conceptual classes, associations and attributes involved in the Conduct Consultation use-case scenarios.
b) List three candidate classes suggested by a class category list and/or noun identification that you would reject as conceptual classes. For each, give a reason for your rejection.
c) Write a fully-detailed description of the scenarios of the Conduct Consultation use-case in essential style. Include only the following sections (it is possible that some may be empty):
ID and Name; Primary Actor; Supporting Actors; Stakeholders and Interests; Preconditions; Success Guarantee (Postconditions); Main Success Scenario (Basic Flow); Extensions.
d) Draw a System Sequence Diagram for the main success scenario of the Conduct Consultation use-case and the alternate scenario in which a doctor prescribes drugs from the dispensary.
P. 3 of4

5.[12%) Use-caseRealization
You are designing a realization of the Conduct Consultation use-case described above in Q4. Consider the responsibility of determining the total that a patient will be billed for a consultation. Name this operation getChargeO. The total charge is calculated as the sum of the medical staff member’s consultation charge, the charge for any medical procedure and the charge for any drugs prescribed.
a) Based on the domain model you constructed in 4(a), assign the getChargeO operation to a design class and design a realization of the operation. Construct a sequence diagram to illustrate the interactions in your design. Limit your design to the domain layer. (You need only provide the sequence diagram as your answerfor this question.)
6. [10%) Software Process Models
a) A feature of modem process models is to address major risks early in development. Describe how the Unified Process drives down (a) requirements risk, and (b) architectural risk as early as possible in a project.
b) Discuss the role that prototyping can play as part of a risk reduction strategy.
7. [12%) Software Testing
You are reviewing test cases designed to test a component of a network outage predictor. The component monitors the values of two performance indicators: UTL and RAC. Values of UTL and RAC are both guaranteed to be integers in the range [O, 100]. The component is required to classify the likelihood of outage as Low, Neutral or High on the basis of the values ofUTL and RAC as follows:
a)
b) c)
d)
Rule Condition
Classification
1 UTL> 90 OR RAC> 70 High
2 UTL < 50 AND RAC < 20 Low 3 All other combinations of values ofUTL and RAC not covered bv Rules 1 or 2 Neutral The test case designer made the single fault assumption and applied equivalence class partitioning to produce the following test cases. Case Inputs Expected Result UTL 1 95 85 High 2 25 10 Low 3 70 45 Neutral What mistake has the designer made in the application ofequivalence class partitioning? Describe a defect that could escape detection as a consequence. What changes would you make to the set of test cases to fix the problem? If you then applied boundary value analysis to derive test cases to probe the boundaries of the equivalence classes, how many additional cases would result? (You may assume that you are not required to probe the upper or lower limits ofthe input ranges.) If you did not make the single fault assumption, list the test cases you would add to ensure coverage of all equivalence classes. ----END OF PAPER----- P.4of4 RAC