Course Content (Syllabus)
1. Introduction to software quality: definition of quality, historical overview, differences between software quality and products quality, total quality management, statisical quality control.
2. Models and standards of software quality: FCM model, Boehm model, ISO9126 standard, FURPS model, ISO25010 standard, open source models of software quality (e.g. BRR, SQO-OSS, QualOSS).
3. Metrics and measurements of software quality: basic concepts and definitions, internal and external metrics, types of metrics, metametrics, metrics and measurements for quality factors (e.g. usability, accessibility).
4. Internal metrics of software quality (Part 1): size, stucture and data metrics, LOC metrics, Halstead metrics.
5. Internal metrics of software quality (Part2 2): complexity metrics, control graph, McCabe metric.
6. External metrics of software quality (Part 1): modeling methods, expert-based inspection methods.
7. External metrics of software quality (Part 2): experimental methods, exploratory methods.
8. Software testing (Part 1): quality in software testing, verification and validation, types of software testing, static code analysis, walkthroughts, code reviews and code inspections, symbolic execution.
9. Software testing (Part 2): equivalence partitioning, boundary value analysis, cause-effect graph, basic path testing, loop testing, condition testing.
10. Introduction to software project management: definitions, basic concepts, difficultes in software projects management, software crisis, software project management procedures.
11. Software project management techniques (Part 1): Activity network, PERT diagram, Gantt diagram.
12. Software project management techniques (Part 2): time and cost management, staff allocation chart, factors estimation risk analysis.
13. Project selection and engineering economics: payback period, return of investment, net present value, scoring models, mixed models, decision tress.