CISC 322/326: Software/Game Architecture Quiz II – Fall 2018 1:30 - 3:15 PM – November 12, 2018 School of Computing Queen’s University Notes: • You have 105 minutes to complete the examination • Write your answers in the space below each question • Continue your answers on the back of the facing page, if necessary • Mark each page with your student number • Answer all questions (Give brief and concise answers!) • Hand in all pages • State ALL non-obvious assumptions that are necessary to answer the questions Name: _________________________________________________ Student Number: ________________________________________ Signature: ______________________________________________ Question 1 [40 Marks] Short Answers and Chrome Question 2 [35 Marks] Kewl University Question 3 [45 Marks] Project Scheduling TOTAL [120 Marks] CISC 322/326 – Quiz II (Page 2 of 12) Student Number: __________ Question 1: Short Answers and Chrome [40 Marks] a) List three differences between software Architecture and software Design. [6 Marks] b) Define Reference Architecture. How would you go about deriving the reference architecture for an Integrated Development Environment (IDE). Use a diagram to explain how you would go about doing this derivation. [6 Marks] CISC 322/326 – Quiz II (Page 3 of 12) Student Number: __________ c) What is the “funnel of uncertainty” in project estimation? Use a diagram to explain your answer. [4 Marks] d) Good Requirements: The table below lists some important quality criteria for good requirements. Briefly explain why requirements should meet these criteria (e.g., Why should requirements be traceable?) [8 Marks] Requirements should be Rationale for such a criteria verifiable traceable ranked for importance ranked for stability CISC 322/326 – Quiz II (Page 4 of 12) Student Number: __________ The Chrome team viewed your project write-up off the course’s webpage. Impressed by your well-written project, they contacted you and asked for your input and advice on the following issues (Make sure you justify your answers based on material in the course. Be Brief!!) e) As the head developer for Chrome which subsystems should you avoid assigning to a new developer? Why? Make sure you support your recommendations based on material covered in this course and your project. (Hint: architecture styles, cohesion, coupling, program understanding, scheduling, etc.) [10 Marks] f) Describe Cohesion and Coupling in the context of software architecture. In particular, discuss the quality of the software architecture of Chrome using cohesion and coupling. [6 Marks] CISC 322/326 – Quiz II (Page 5 of 12) Student Number: __________ Question 2: Kewl University [35 Marks] Using the following system description, answer Question 2: Kewl University (KU) hired your team to develop a new library system as part of a university-wide modernization effort that is led by the University’s new President. The new library system will be used by members of the university community. The system should keep up-to-date information about its patrons (e.g. current phone numbers and address) in addition to keeping an inventory of the books and their location across the floors of the various library buildings. Students and professors should be able to search, borrow, and recall books using their university ID. Professors must ask a library clerk in order to put books on reserve. Professors and clerks should be able to remove books from the reserve shelf. Library clerks will use the system to collect late fines and to add new books or patrons. If a book is lost or damaged, then the clerk should be able to update its status in the system. The University student records system must immediately notify the library system about any status change for a student. If a student is no longer registered at the university, then his/her library privileges are revoked. If no status update about a student has been received for more than 30 days, the library system must check with the records system about the status of the student and cache such status – next time the student uses the library system. The records system also needs to check with the library system if a student has any outstanding fines or books. The library system should track loans and fines, and freeze a student record if a student has a large number of outstanding fines. The system should track loan statistics for each book. The head librarian wants the ability to view monthly loans broken down by book type and to view the top 100 most borrowed books in a period. CISC 322/326 – Quiz II (Page 6 of 12) Student Number: __________ a) Propose a conceptual architecture diagram for this new library system. Make sure to: a. Use a boxes-and-arrows diagram to explain your architecture b. Break down your architecture into subsystems c. Explain the purpose of each subsystem d. Justify the interactions between these subsystems e. Make sure to discuss the advantages and disadvantages of your chosen architecture style(s). f. Justify your architecture relative to the non-functional quality requirements [20 Marks] CISC 322/326 – Quiz II (Page 7 of 12) Student Number: __________ b) Use a sequence diagram to describe how your architecture supports the Use Case of “A student (for which no status updates have been received for 90 days) being denied from borrowing a book because he/she had not paid the tuition”. [15 Marks] CISC 322/326 – Quiz II (Page 8 of 12) Student Number: __________ Question 3: Scheduling [45 Marks] Consider the following project plan. The following table shows the number of activities in the project, the durations for each activity and the dependencies between the activities. Activity Id. Duration (weeks) Dependencies A 2 B 3 C 2 D 4 A E 2 B F 2 A G 4 A H 5 C I 7 D J 9 F, I K 4 E, G, J a) What is the main difference between PERT and CPM? Which technique is more suitable for scheduling a software development project? Why? [10 Marks] CISC 322/326 – Quiz II (Page 9 of 12) Student Number: __________ b) Draw the scheduling network for this project? Determine the earliest and latest start date for each activity. [10 Marks] CISC 322/326 – Quiz II (Page 10 of 12) Student Number: __________ c) What is the benefit of performing critical path analysis during the planning of a project? [5 Marks] d) What is the benefit of performing critical path analysis during the management stage of a project? [5 Marks] e) What is the benefit of performing a Monte Carlo simulation for a scheduling network? [5 Marks] CISC 322/326 – Quiz II (Page 11 of 12) Student Number: __________ f) A serious unexpected event occurs which causes Activity E to take 8 weeks to complete instead of 2 weeks. This unexpected event occurs when the project is in week 2 where Activity C has been completed as scheduled. Revise your scheduling network. Are there any newly formed critical paths? List the critical paths for the revised network. [10 Marks] CISC 322/326 – Quiz II (Page 12 of 12) Student Number: __________ Additional Empty Page (1 of 1)
欢迎咨询51作业君