Final Review

 

Topics

·        Software engineering concepts: process, methods, and tools

·        Software process models: steps, artifacts produced, activities

o       Waterfall model

o       Iterative model (e.g., RUP)

o       Incremental model

o       Prototype model

o       Agile model

·        Software architecture design

o       Architecture design principles and issues

o       Architecture styles: pipe and filter, object-oriented, implicit invocation, client server, layered, repository, interpreter, process control 

o       Architecture style evaluation: invariants and constraints, specializations, advantages vs. disadvantages

·        Software design methods: characteristics of good design, design concepts, interface design, etc.

·        Software management

o       Software planning and scheduling: software plan, CPM, Gantt charts,

o       Software estimation: Function points, COCOMO model

·        Software verification and validation

o       Software inspection and static analysis techniques

o       Software testing process: steps, activities, artifacts produced

o       Software test case design techniques: functional testing, structural testing