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