COMP465W: Software Engineering
Final Exam Review Topics
December 2, 2015
1. Basic characteristics of software engineering
2. Types of software and its desired attributes
3. Software engineering ethics
4. Software process models and process activities
5. Managing change in software process
6. Agile methods vs. plan-driven development: characteristics, advantages and disadvantages
7. Extreme programming and Scrum approach
8. Types of software requirements
9. Approaches to requirements specification
10. Activities (phases, stages) of requirements engineering process
11. Types of software system models
12. Model-driven software engineering approach
13. Fundamental characteristics of architectural design
14. Types of architectural patterns; their advantages and disadvantages
15. Types of application systems architectures and their characteristics
16. Stages of object-oriented design
17. Design patterns
18. Software reuse issues; configuration management; open source development
19. Various classifications of testing; phases of development testing
20. Test-driven development
21. Release and unit testing
22. Software evolution and its dynamics
23. Maintenance; types and characteristic activities
24. Management of legacy systems
25. Dependability and its dimensions
26. Characteristics of the four major dimensions of dependability
27. Characteristics of risk-driven requirements specification
28. Reliability specification
29. Safety and security specification
30. Formal methods of specification
31. Dependable system architectures
32. Dependable programming
33. Design for security and its 10 guidelines
34. System survivability
35. Software reuse; levels of reuse, advantages and disadvantages of reuse
36. Application frameworks, software product lines, and COTS product reuse
37. Components and their characteristics
38. CBSE for reuse vs. CBSE with reuse
39. Component composition
40. Advantages and disadvantages of distributed systems
41. Architectural patterns for distributed systems
42. Software as a service
43. Managing people
44. Factors that affect teamwork
45. Issues of software pricing
46. Project scheduling
47. Algorithmic cost modeling and basics of COCOMO models
48. Software quality and standards
49. Basic issues of software metrics
50. Change management and version management
51. The process improvement process and its subprocesses
52. The CMMI framework