| | Legend:
- lh means 'lecture hours' (1 lh = 45 minutes).
-
Red numbers denote more important topics.
- (CS-L)
marks all places where the case study for lectures
is used as an illustrative example during lectures. At this moment, these
examples will be included into lecture slides.
- (CS-Ldoc)
- the same as above, but these are examples of produced documents that use
the case study. These documents can be given to students for individual
inspection, or discussed during exercises.
-
(CS-XCTL)
marks all places where the additional case study
(XCTL control program) is used during lectures. Example(s) will be included
into lecture slides.
-
subtopics
written with yellow background
may be dropped, if the user feels that he/she cannot cover enlisted
subtopics during proposed timeframe.
PART I
|
Introduction to Software engineering
|
4 lh |
1 |
What
is Software engineering? |
2 lh |
 | Several definitions of software engineering |
 | Areas of software engineering (i.e., what belongs to it) |
 | The importance of software engineering in practice -
problems of software development |
 | On the size of software |
 | History of software engineering |
 | Problems of introducing software engineering in education |
 | Differences between software development in educational
environment and in practice |
 | Goals of this course |
 | Literature, articles, papers, ... |
2 |
Quality criteria
for software products |
0.5 lh |
 | Quality criteria for software products |
 | Definition of every quality criterion |
 | Classifications of quality criteria (inner and outer) |
 | Standard ISO-9126 |
3 |
Software
process models - introduction |
0.5 lh |
 | The importance of process models |
 | Overview of existing models |
 | Classical and iterative phase-model, Waterfall model |
 | Statistics of phases |
 | Alternative phases |
 | Prototyping |
4 |
Basic concepts and software development
documents |
1 lh |
 | Description of results of software development phases -
software development documents |
 | Definition of basic concepts of software engineering and
their classification |
 | Basic concepts and software development phases |
 | Basic concepts and document notations |
 | Basic concepts and their application areas |
 | Basic concepts and their use in analysis methods |
PART II
|
Requirements engineering (analysis and definition)
|
9 lh |
5 |
Results
of the „Analysis and Definition“ phase
|
1 lh |
 | Overview of results: feasibility studies, Product
definition |
 | The content of requirement specification |
 | Standardization |
 | An example of requirements document (CS-L) |
 | Realistic situation - example |
 | Sources of costs |
 | Influencing factors for cost analysis |
 | Function-point method |
 | An example of application of function point method (CS-L) |
13 |
Object-oriented analysis |
6 lh |
 | Object-oriented analysis vs. Structured analysis |
 | Approaches, literature, and systems |
 | Basics of object-oriented paradigm of software systems |
 | Class diagram of object-oriented analysis model |
 | Example: class diagram (CS-L) |
 | Overview of UML |
 | Use-cases. Examples (CS-L) |
 | Detailed class specification: data dictionary, signature,
pseudo-code,... |
 | The place of object-oriented analysis in software
engineering |
 | Template for performing object-oriented analysis |
 | Demonstration of a CASE tool ('Together') |
15 |
Overview
of design activities
|
1 lh |
 | Software architecture - documents of this phase (CS-Ldoc) |
 | Quality criteria |
 | Process and methods |
 | Overview of characteristic software architectures |
17 |
Object-oriented
design |
2 lh |
 | Phases and activities |
 | Consequences to user-interface |
 | Reusability |
 | Performance improvements |
 | Frameworks |
 | Implementation design |
 | Example (CS-L) |
PART IV
|
Implementation and Testing
|
6 lh |
19 |
Systematic
testing
|
6 lh |
 | Motivation and concepts |
 | V (software process) model |
 | The place of testing (validation) in quality assurance plan |
 | Classification of techniques |
 | Review and audit |
 | Control-flow techniques |
 | Data-flow techniques |
 | Documents of this phase (CS-Ldoc) |
PART V
|
Advanced problems
|
8 lh |
 | The importance of measuring software |
 | History |
 | Overview and classification |
 | Cyclomatic complexity |
 | Halstead metrics |
 | LOC metrics |
 | Style metrics |
 | Object-oriented metrics |
 | McCabe testing toolset (CAME-Tools) |
 | Evaluation of techniques |
 | A realistic example (CS-L) |
 | Types of maintenance |
 | Maintenance requests specification |
 | Costs and planning |
 | An example (CS-L) |
23 |
Reverse
engineering
|
2 lh |
 | Goals |
 | Concepts |
 | Techniques and tools |
 | A realistic example (CS-XCTL) |
[February 19, 2002]
| |
|