
| | 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.

Click
here for a shorter version of a course
(30+15+15)

PART I
|
Introduction to Software engineering
|
5 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 |
1 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 |
1 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)
|
19 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) |
7 |
Basic
concepts of the function-oriented view |
1 lh |
 | Function trees |
 | Data-flow diagrams |
 | Comparison of two views |
 | Example (CS-L) |
8 |
Basic
concepts of data-oriented view |
1 lh |
 | Notation form for grammars (EBNF, data dictionary,
syntax-diagram) |
 | Jackson diagram |
 | Entity-Relationship model |
 | Comparisons |
 | Example (CS-L) |
9 |
Basic
concepts of rule-oriented view |
1 lh |
 | Rules |
 | Decision tables |
 | Decision trees |
 | Example (CS-L) |
10 |
Structured analysis |
2 lh |
 | Paradigms of software development - structured paradigm |
 | Goal, basic concepts, and history of structured analysis |
 | Documentation structure of structured analysis |
 | Example: Data-Flow-Diagram hierarchy (CS-L) |
 | Example: Data Dictionary (CS-L) |
 | Mini-specifications |
 | (Implicit) function tree |
 | Evaluation of technique |
11 |
Basic concepts of state-oriented view
|
1 lh |
 | State automata |
 | Activity diagrams |
 | Petri-nets |
12 |
Basic concepts of scenario-based view |
1 lh |
 | Collaboration diagrams |
 | Sequence diagrams |
 | Example (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') |
14 |
Formal
software specifications and program
verification |
3 lh |
 | Motivation |
 | Algebraic specification |
 | Hoare's specification and verification |
 | Model-oriented specification: specification language Z |
 | Evaluation of techniques |
15 |
Overview
of design activities
|
2 lh |
 | Software architecture - documents of this phase (CS-Ldoc) |
 | Quality criteria |
 | Process and methods |
 | Overview of characteristic software architectures |
16 |
Structured
design
|
1 lh |
 | Overview |
 | Description methods (structure charts) |
 | Example (CS-L) |
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
|
10 lh |
 | Documents of this phase (CS-Ldoc) |
 | Principles and methods |
 | Guidelines |
19 |
Systematic
testing
|
6 lh |
 | Motivation and concepts |
 | V (software process) model |
 | The place of testing (validation) in quality assurance plan |
 | Classification of techniques |
 | Control-flow techniques |
 | Data-flow techniques |
 | Documents of this phase (CS-Ldoc) |
20 |
Functional testing |
2 lh |
 | Functional testing |
 | Testing tool CTE |
 | Example (CS-L) |
PART V
|
Advanced problems
|
21 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
|
4 lh |
 | Goals |
 | Concepts |
 | Techniques and tools |
 | A realistic example (CS-XCTL) |
24 |
Quality of software development process and
its standardization |
3 lh |
 | Relationship of quality of software development process and
the quality of software product |
 | Meaning of the software development quality |
 | ISO-9000 normative (CS-Ldoc) |
 | Certificates (motivation and procedure) |
 | Overview of capability assessment models (PSP, TSP, CMM) |
 | Spiral software process model |
 | Extreme programming |
25 |
Introduction to software ergonomics |
3 lh |
 | Software ergonomics in GUI |
 | Standards, guidelines |
27 |
Project management |
4 lh |
 | Planning |
 | Organization (CS-Ldoc) |
 | People management |
 | Configuration and documentation management (CS-Ldoc) |
 | Risk management |
 | Choosing development tools and support |
 | Control |
[February 10, 2003]
| |
|