The scope of software engineering - the initial concepts. Software products and processes.
Software production and related problems.
Software characteristics. Causes of problems. Myths about software.
Software life cycle. Software process models. Traditional v. agile methodologies.
System planning. Determination of scope and objectives. Feasibility study. The selection of the contractor.
Software analysis, specification and design.
The principles of verification: inspection and review, mathematical proof of correctness.
Implementation phase: the choice of language, 4GL, standards and good programming practices, programming teams.
Implementation phase (cont.): software portability, reusability, unit testing, code inspections and reviews.
Integration and system testing: top-down, bottom up, integration and system testing, acceptance testing, test automation.
Software deployment and maintenance: maintenance management, maintainance specificity, reengineering.
Legacy systems.
Techniques, CASE tools, commercial products: step-wise refinement, cost/benefits analysis, software versions.
Integration and testing of the system: top-down, bottom up, big-bang; testing, acceptance testing, automated testing.
Software measures (metrics).
Software quality issues. Software products' and processes quality.
Measures of software product and software process.
|