CSC2205 Software Engineering Final Exam 12/15 Name ___________________ Honor Pledge: “I have neither given nor received unauthorized aid on this piece of work, nor have I knowingly tolerated any violation of the Honor Code.” _______________________ True/False and Multiple Choice Questions (50pts) 1. Design focuses on the application domain rather than solution domain. (T/F) 2. Developers sometimes have to make trade-offs among many design goals that often conflicts with each other. (T/F) 3. Cohesion measures the dependencies between two subsystems, whereas coupling measures the dependencies among classes within a subsystem. (T/F) 4. A desirable property of a subsystem decomposition is that it leads to subsystems with low cohesion and high coupling. 5. A hierarchical decomposition of a system yields a collection of partitions. (T/F) (T/F) 6. An information system with a central database is an example of a system of repository architectural style. (T/F) 7. In a peer-to-peer architectural style, a subsystem can act both as client and as server. (T/F) 8. During object design, we identify design goals. (T/F) 9. UML deployment diagram is used to depict the relationship among run-time components and hardware nodes. (T/F) 10. Using an access matrix we can model access of actors to classes. (T/F) 11. Reference to a primary key in another table is called international key. (T/F) 12. Design goals are derived from the functional requirements. (T/F) 13. Object design is a very sequential process. (T/F) 14. Solution objects mean some components that do not have a counterpart in the application domain. 15. Specification inheritance is for the sole purpose of reusing code. (T/F) (T/F) 16. Delegation is the alternative to implementation inheritance that should be used when reuse is desired. (T/F) 17. The development process can be thought as a series of model transformations, starting with the analysis model and ending with the object design model. (T/F) 18. Forward engineering is applied to a set of source code elements and results in a set of model elements. (T/F) 19. When an object model is mapped to a relational database, a many-to-many association is mapped into a row of the tables. 20. A one-to-many association is implemented as buried foreign key. (T/F) (T/F) 21. Process of finding differences between the expected behavior specified by system models and the observed behavior of the implemented system is called Testing. ( T / F ) 22. Since testing is done on something made by others, it doesn’t need any creativity.( T / F) 23. Integration test is usually done by clients. (T/F) 24. Every statement in the component is executed at least once in white-box testing. (T/F) 25. Big-bang strategy is the best in integration test because it doesn’t need any additional test stubs or drivers. (T/F) 26. Test-drivers are necessary in bottom-up approach, and test-stubs in top-down approach. (T/F) 27. A beta-test is the last test done in development environment. (T/F) 28. Rationale is the reasoning that leads to the system. (T/F) 29. Release management takes care of the creation of versions for the clients and users. (T/F) 30. Performance testing to test the various software and hardware configurations is volume testing. 31. Relational database supports inheritance. (T/F) (T/F) 32. Three constraints of a contract are precondition, postcondition, and invariant. ( T / F ) 33. Two big factors affecting the quality of software are change and complexity. (T/F) 34. Two main components of use case diagrams are use case and system. (T/F) 35. E-mail is one of synchronous communication mechanisms. (T/F) 36. A hallway conversation is one of synchronous communication mechanisms. (T/F) 37. Six components of a use case are name, actors, entry condition, exit condition, exceptions, and special requirements. (T/F) 38. A scenario is an instance of a use case. (T/F) 39. Schedule is the mapping of tasks onto time. (T/F) 40. Any work product to be delivered to the client is called deliverable. (T/F) 41. In which system design activity, initialization and termination issues are dealt with? a. Data Management b. Access Control c. Boundary Conditions d. Control Flow 42. Which is NOT an advantage of DBMS over File? a. Multiple Access Control b. Voluminous Data Handling c. Well-Defined Query Language d. Heterogeneous System Environment 43. Which is NOT the cause of exception? a. Requirement Change in Analysis b. A Hardware Failure c. Changes in the Operating Environment d. A Software Fault 44. Which is NOT a solution object? a. Persistent Data Storage b. User Interface Objects c. Middleware d. Other system as an actor 45. Which is NOT a reason “Configuration Management” is important? a. Sometimes more than one version should be supported b. Sometimes more than one developers work on software c. Sometimes more than one group of people use software d. Sometimes software must run on more than one system 46. Which of following test is done by clients? a. Installation test b. Unit test c. Performance test d. Integration test 47. The measure of success with which the observed behavior of a system confirms to some specification of its behavior is ____________________. a. Test Pass b. Durability c. Acceptance Rate d. Reliability 48. Which of following is NOT a unplanned communication event? a. Request for clarification b. Request for change c. Brainstorming d. Issue resolution 49. What is a technique for reducing multiplicity by using keys? a. falcification b. qualification c. role d. inheritance 50. Which is NOT a component of a project? a. work product b. schedule c. resources d. task Short Answer Questions (50pts, 5pts 51-58, 10pts 59) 51. What is software engineering? 52. In addition to identifying design goals, we should ensure that the system design should meet several criteria. What are those criteria? Describe each criterion briefly. 53. What are four main activities in object design? Describe each briefly. 54. What is patching as one of method to deal with errors? Give an example you experienced. 55. What is a notation? What is a good notation? Why do we need a good notation? 56. What are alpha test and beta test? What are differences? 57. Why do you think testing is thought as dirty work sometimes? 58. How do you realize inheritance in a relational database? 59. Pick any issue in your project, MovieStore, and describe rationale of the issue based on what really have been done. (p489)