Software Design & Production methodologies CIS 663 Instructor: Vassilka Kirova CCS, IS, NJIT Tel.: 973 596 2319 Email: kirova@cis.njit.edu Email: kirova@cis.njit.edu Practice Final Exam Exam Length: 2 hours 50points = 100% PROBLEM GROUP 1 (10 POINTS) – ANSWER 5 OF THE 7 QUESTIONS BELOW! Note: There are more questions below to help you prepare better. 1. Architecture Specification Which of the elements listed in the next column are used for specifying software architectures? Elements Selection Components Interfaces Connectors Actors Ports/access points Project plan Roles Software requirements specification Protocols 2. UML – Fill in the blanks A UML diagram used to represent the classes of the system and their interrelationships (including inheritance, aggregation, and associations) is called ……………………… These diagrams are the mainstay of object-oriented modeling and are used to show both what the system can do during the. …………phase of software development process and how the system will be structured and built as part of the ……….phase. 3. Use Cases Is the textual description corresponding to and correct with respect to the UC diagram shown below? Circle the elements of the textual description that are wrong. Assume the diagram is correct! Office Security System Employee open door reset alarm Security Guard Repair Person test alarm Use case 1: Open door Goal: An Employee wants to unlock a door to pass from one room to another. Preconditions: Employee, Security Guard, Repair person Success end condition: Employee has successfully opened the door. Failed end condition: Door remains closed and the Security Guard on duty is notified. Actors: open door, reset alarm, test alarm Main scenario: 1. Employee’s identification and door identification is sent to system 2. Door is unlocked 3. Employee opens door, passes through the door, and recloses door Extensions: 2a. Employee’s identification is not valid 2a1. System notifies Security Guard 1 4. Function Points Calculate the function points (PM = 0.036*FP*PIF) for the system shown in Appendix A. Assume the following FP and PIFs: The input functions (processes) are at medium level of difficulty -complexity=3 p/w Output functions (processes) are at simple level of difficulty -- complexity =2 p/w All COT functions (processes) are at advanced level of difficulty -complexity = 5 p/w PIFs are: distributed development – level of difficulty = 4; and rigorous extra functional requirements –level of difficulty = 5, no other PIFs. 5. Architectures What is the difference between Reference architectures and Specific System Architectures? Answers What is Product Line Architecture (PLA)? Is a typical PLA a reference or specific system architecture? Reference Specific System Architecture 6. Requirements List at least 4 major types of non-functional requirements. Answer 7. Software Life-Cycle Answer List the major phases of a software product life-cycle from the product inception to its retirement. Incremental Development Model Questions Provide a graphical outline of the model Answers Analysis of Incremental Development a) Assumptions 8. b) Improves c) Does not really improve 9. Prototyping - Questions Answers Definition Select all that apply Prototype Types: Evolutionary Revolutionary Throw-away Horizontal Diamond Vertical 10. Software process a) What is a software lifecycle (ANSI/IEF Std. 729-1983 definition)? b) Name two well-known process models and list their major characteristics and weaknesses. Definition Selection 11. Data Dictionary – User Interface Write a DD entry (BNF only) for a data flow (Login Info) that “caries” the simple login screen shown below from a Customer to the OPIS system. Specify only the shown data elements (no need to decompose further). Customer ID: PASSWORD Login Info pschott ****** OPIS Login Info BNF 12. DFD – Find the Errors Error USER/CRT Calculate Tax Book Order (BO) Out of Print Message Customer Info P1 Get & Check BO BO+ Book Not Available BO & Publisher Info P3 Format Out of Print Message Book, Publisher, Stock DB User Info Publisher Stock Info Description PROBLEM GROUP 2 (20 POINTS) -- MODELING I) II) III) Create a Static OOA Model that shall serve as an initial step in the development of an Information Management application supporting the business operations of Seminar Company Associates (SCA) described below. (If some information is not provided explicitly make assumptions.) Write an Object Dictionary entry for an object of your choice. Define the attributes of the selected object using BNF notation. Specify the services ONLY by their names (NO need to write detailed service specification). Document a scenario – ……. SCA offers training courses. Client Companies call SCA and place orders for Courses. For every Client SCA stores the following information: client company name, business id, address, phone, fax, e-mail address, and company’s representative name. A client company may have from zero to many courses organized for it at any moment of time. Each course is organized for one and only one client, however external students may be added to the course in order to fill in the available seats. Each Course is characterized by a course id, name, description, hours, start date, end date, and location (the address at which the course runs). SCA keeps track of each student's name (last, first), student id, address, and phone number. There are two student types: client company employees and external students. The client company employees have a badge number in addition to the common student attributes defined above. The external-students must also have a credit card number stored for. Employee-students are related to one and only one client company. A client company has many employee-students. Each course has at list 5 students and max of 20 students. For a client company to order a course there should be at list 5 employee students participating in it. Students are issued Course Certificates for each course they take and successfully pass the examination at the end of it. Every certificate is issued for a specific course, to a specific student; it has a unique id. Students collect multiple certificates as they are very important for their carriers. Courses are taught by instructors. Instructors are characterized by their social security number (SSN), name (last, first), qualifications, address, and phone number. Every instructor teaches from zero to many courses. Each course is taught by 1 or 2 instructors. PROBLEM GROUP 3 (20 POINTS) – ANSWER ALL QUESTIONS! Assume you are in charge of a software project responsible for the development of a Patient Information System (PIS) and its smooth integration with a number of other hospital systems into an overall Hospital Information System (HIS). Assume also you have a small distributed team, which has a long experience in building and integrating software but not in the Healthcare domain. The major concerns are “patient’s privacy” (security of information), and overall system reliability and availability. The customer (the ABC hospital) would like to reserve its rights to change the PIS requirements as well as the requirements on the information exchange between PIS and the rest of the hospital systems, on an ongoing basis. The customer is also looking to actively participate in defining PIS functionality and user interface, and would like to receive ongoing feedback on the progress of the implementation. a) (5 points) Draw a Context Model -- a context level Data Flow Diagram (DFD), or a high level Use Case (UC) diagram (but not an architectural diagram!) -- for the Patient Information System (PIS) only. PIS shall serve requests from the Physicians, other Hospital Personal (assume for simplicity that they are one external entity/actor), Patients, and Authorized Clients (e.g. patients’ relatives). You may make any reasonable assumptions about the other hospital systems that are available and are to be integrated with PIS but your model/diagram must include a Patient Admission System and an Image Storage System for X-rays. (If you are to use DFD there is no need to show detailed data flows, show only highlevel conceptual information exchange flows). b) (5 points) What process model would you select/recommend for the project at hand? Explain why! c) (4 points) What major non-functional requirements should be specified for the overall integrated system? d) (3 points) What major project influence factors are applicable/affecting this software project? e) (3 points) In absence of historical data it is still possible to provide good estimates of effort using estimation models. One popular estimation model is COCOMO/COCOMO2. Even though the system size is fundamental to the model the effort estimates are significantly influenced by a number of “cost drivers.” What cost drivers would you consider for the above development and integration project? APPENDIX A: SUPPORT INFORMATION Notice that some functional aspects of the system are intentionally omitted from the DFD for simplicity. Use this diagram to calculate FP in question XX. CDO- USER/CRT Record Company/CRT CD Order (CDO) RC_Order_Request Get & Check CDO CDO & Record Company(RC) Invoice Data Genetare Shipping Record Process CDO CDO+ Generate Invoice CD & RC RC Info Stock CD Info Details OR + Get & Check Stock Level RC & OR Data Check Stock Generate RC Order (RCO) Invoice Details Invoice Info Shipping Info CD, Rrecord Companies, Stock DB Format Record Company Order Format Invoice Format Shipping Info Shipping Form SHIPPING/PRINTER CD - Compact Disc RC - Record Company OR - Order Request RCO Invoice Summary RCO Summary USER/CRT RC PRINTER OR-