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