| | 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 |
![bullet](_themes/tilt/tlbull1.gif) | Several definitions of software engineering |
![bullet](_themes/tilt/tlbull1.gif) | Areas of software engineering (i.e., what belongs to it) |
![bullet](_themes/tilt/tlbull1.gif) | The importance of software engineering in practice -
problems of software development |
![bullet](_themes/tilt/tlbull1.gif) | On the size of software |
![bullet](_themes/tilt/tlbull1.gif) | History of software engineering |
![bullet](_themes/tilt/tlbull1.gif) | Problems of introducing software engineering in education |
![bullet](_themes/tilt/tlbull1.gif) | Differences between software development in educational
environment and in practice |
![bullet](_themes/tilt/tlbull1.gif) | Goals of this course |
![bullet](_themes/tilt/tlbull1.gif) | Literature, articles, papers, ... |
2 |
Quality criteria
for software products |
0.5 lh |
![bullet](_themes/tilt/tlbull1.gif) | Quality criteria for software products |
![bullet](_themes/tilt/tlbull1.gif) | Definition of every quality criterion |
![bullet](_themes/tilt/tlbull1.gif) | Classifications of quality criteria (inner and outer) |
![bullet](_themes/tilt/tlbull1.gif) | Standard ISO-9126 |
3 |
Software
process models - introduction |
0.5 lh |
![bullet](_themes/tilt/tlbull1.gif) | The importance of process models |
![bullet](_themes/tilt/tlbull1.gif) | Overview of existing models |
![bullet](_themes/tilt/tlbull1.gif) | Classical and iterative phase-model, Waterfall model |
![bullet](_themes/tilt/tlbull1.gif) | Statistics of phases |
![bullet](_themes/tilt/tlbull1.gif) | Alternative phases |
![bullet](_themes/tilt/tlbull1.gif) | Prototyping |
4 |
Basic concepts and software development
documents |
1 lh |
![bullet](_themes/tilt/tlbull1.gif) | Description of results of software development phases -
software development documents |
![bullet](_themes/tilt/tlbull1.gif) | Definition of basic concepts of software engineering and
their classification |
![bullet](_themes/tilt/tlbull1.gif) | Basic concepts and software development phases |
![bullet](_themes/tilt/tlbull1.gif) | Basic concepts and document notations |
![bullet](_themes/tilt/tlbull1.gif) | Basic concepts and their application areas |
![bullet](_themes/tilt/tlbull1.gif) | 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 |
![bullet](_themes/tilt/tlbull1.gif) | Overview of results: feasibility studies, Product
definition |
![bullet](_themes/tilt/tlbull1.gif) | The content of requirement specification |
![bullet](_themes/tilt/tlbull1.gif) | Standardization |
![bullet](_themes/tilt/tlbull1.gif) | An example of requirements document (CS-L) |
![bullet](_themes/tilt/tlbull1.gif) | Realistic situation - example |
![bullet](_themes/tilt/tlbull1.gif) | Sources of costs |
![bullet](_themes/tilt/tlbull1.gif) | Influencing factors for cost analysis |
![bullet](_themes/tilt/tlbull1.gif) | Function-point method |
![bullet](_themes/tilt/tlbull1.gif) | An example of application of function point method (CS-L) |
13 |
Object-oriented analysis |
6 lh |
![bullet](_themes/tilt/tlbull1.gif) | Object-oriented analysis vs. Structured analysis |
![bullet](_themes/tilt/tlbull1.gif) | Approaches, literature, and systems |
![bullet](_themes/tilt/tlbull1.gif) | Basics of object-oriented paradigm of software systems |
![bullet](_themes/tilt/tlbull1.gif) | Class diagram of object-oriented analysis model |
![bullet](_themes/tilt/tlbull1.gif) | Example: class diagram (CS-L) |
![bullet](_themes/tilt/tlbull1.gif) | Overview of UML |
![bullet](_themes/tilt/tlbull1.gif) | Use-cases. Examples (CS-L) |
![bullet](_themes/tilt/tlbull1.gif) | Detailed class specification: data dictionary, signature,
pseudo-code,... |
![bullet](_themes/tilt/tlbull1.gif) | The place of object-oriented analysis in software
engineering |
![bullet](_themes/tilt/tlbull1.gif) | Template for performing object-oriented analysis |
![bullet](_themes/tilt/tlbull1.gif) | Demonstration of a CASE tool ('Together') |
15 |
Overview
of design activities
|
1 lh |
![bullet](_themes/tilt/tlbull1.gif) | Software architecture - documents of this phase (CS-Ldoc) |
![bullet](_themes/tilt/tlbull1.gif) | Quality criteria |
![bullet](_themes/tilt/tlbull1.gif) | Process and methods |
![bullet](_themes/tilt/tlbull1.gif) | Overview of characteristic software architectures |
17 |
Object-oriented
design |
2 lh |
![bullet](_themes/tilt/tlbull1.gif) | Phases and activities |
![bullet](_themes/tilt/tlbull1.gif) | Consequences to user-interface |
![bullet](_themes/tilt/tlbull1.gif) | Reusability |
![bullet](_themes/tilt/tlbull1.gif) | Performance improvements |
![bullet](_themes/tilt/tlbull1.gif) | Frameworks |
![bullet](_themes/tilt/tlbull1.gif) | Implementation design |
![bullet](_themes/tilt/tlbull1.gif) | Example (CS-L) |
PART IV
|
Implementation and Testing
|
6 lh |
19 |
Systematic
testing
|
6 lh |
![bullet](_themes/tilt/tlbull1.gif) | Motivation and concepts |
![bullet](_themes/tilt/tlbull1.gif) | V (software process) model |
![bullet](_themes/tilt/tlbull1.gif) | The place of testing (validation) in quality assurance plan |
![bullet](_themes/tilt/tlbull1.gif) | Classification of techniques |
![bullet](_themes/tilt/tlbull1.gif) | Review and audit |
![bullet](_themes/tilt/tlbull1.gif) | Control-flow techniques |
![bullet](_themes/tilt/tlbull1.gif) | Data-flow techniques |
![bullet](_themes/tilt/tlbull1.gif) | Documents of this phase (CS-Ldoc) |
PART V
|
Advanced problems
|
8 lh |
![bullet](_themes/tilt/tlbull1.gif) | The importance of measuring software |
![bullet](_themes/tilt/tlbull1.gif) | History |
![bullet](_themes/tilt/tlbull1.gif) | Overview and classification |
![bullet](_themes/tilt/tlbull1.gif) | Cyclomatic complexity |
![bullet](_themes/tilt/tlbull1.gif) | Halstead metrics |
![bullet](_themes/tilt/tlbull1.gif) | LOC metrics |
![bullet](_themes/tilt/tlbull1.gif) | Style metrics |
![bullet](_themes/tilt/tlbull1.gif) | Object-oriented metrics |
![bullet](_themes/tilt/tlbull1.gif) | McCabe testing toolset (CAME-Tools) |
![bullet](_themes/tilt/tlbull1.gif) | Evaluation of techniques |
![bullet](_themes/tilt/tlbull1.gif) | A realistic example (CS-L) |
![bullet](_themes/tilt/tlbull1.gif) | Types of maintenance |
![bullet](_themes/tilt/tlbull1.gif) | Maintenance requests specification |
![bullet](_themes/tilt/tlbull1.gif) | Costs and planning |
![bullet](_themes/tilt/tlbull1.gif) | An example (CS-L) |
23 |
Reverse
engineering
|
2 lh |
![bullet](_themes/tilt/tlbull1.gif) | Goals |
![bullet](_themes/tilt/tlbull1.gif) | Concepts |
![bullet](_themes/tilt/tlbull1.gif) | Techniques and tools |
![bullet](_themes/tilt/tlbull1.gif) | A realistic example (CS-XCTL) |
[February 19, 2002]
| |
|