Syllabus

Back Home Next

Syllabus(30+15+15)

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
bulletSeveral definitions of software engineering
bulletAreas of software engineering (i.e., what belongs to it)
bulletThe importance of software engineering in practice - problems of software development
bulletOn the size of software
bulletHistory of software engineering
bulletProblems of introducing software engineering in education
bulletDifferences between software development in educational environment and in practice
bulletGoals of this course
bulletLiterature, articles, papers, ...
2 Quality criteria for software products 1 lh
bulletQuality criteria for software products
bulletDefinition of every quality criterion
bulletClassifications of quality criteria (inner and outer) 
bulletStandard ISO-9126
3 Software process models  - introduction  1 lh
bulletThe importance of process models
bulletOverview of existing models
bulletClassical and iterative phase-model, Waterfall model
bulletStatistics of phases
bulletAlternative phases
bulletPrototyping
4 Basic concepts and software development documents 1 lh
bulletDescription of results of software development phases - software development documents
bulletDefinition of basic concepts of software engineering and their classification
bulletBasic concepts and software development phases
bulletBasic concepts and document notations
bulletBasic concepts and their application areas 
bulletBasic 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
bulletOverview of results: feasibility studies, Product definition
bulletThe content of requirement specification
bulletStandardization
bulletAn example of requirements document (CS-L)
bulletRealistic situation - example
6 Cost estimation  2 lh
bulletSources of costs
bulletInfluencing factors for cost analysis
bulletFunction-point method 
bulletAn example of application of function point method (CS-L)
7 Basic concepts of the function-oriented view 1 lh
bulletFunction trees
bulletData-flow diagrams
bulletComparison of two views
bulletExample (CS-L)
8 Basic concepts of data-oriented view 1 lh
bulletNotation form for grammars (EBNF, data dictionary, syntax-diagram)
bulletJackson diagram
bulletEntity-Relationship model
bulletComparisons
bulletExample (CS-L)
9 Basic concepts of rule-oriented view 1 lh
bulletRules
bulletDecision tables
bulletDecision trees
bulletExample (CS-L)
10  Structured analysis 2 lh
bulletParadigms of software development - structured paradigm
bulletGoal, basic concepts, and history of structured analysis
bulletDocumentation structure of structured analysis
bulletExample: Data-Flow-Diagram hierarchy (CS-L)
bulletExample: Data Dictionary (CS-L)
bulletMini-specifications
bullet(Implicit) function tree
bulletEvaluation of technique 
11  Basic concepts of state-oriented view 1 lh
bulletState automata
bulletActivity diagrams
bulletPetri-nets
12  Basic concepts of scenario-based view 1 lh
bulletCollaboration diagrams
bulletSequence diagrams
bulletExample (CS-L)
13 Object-oriented analysis 6 lh
bulletObject-oriented analysis vs. Structured analysis
bulletApproaches, literature, and systems 
bulletBasics of object-oriented paradigm of software systems
bulletClass diagram of object-oriented analysis model 
bulletExample: class diagram (CS-L)
bulletOverview of UML
bulletUse-cases. Examples (CS-L)
bulletDetailed class specification: data dictionary, signature, pseudo-code,...
bulletThe place of object-oriented analysis in software engineering
bulletTemplate for performing object-oriented analysis
bulletDemonstration of a CASE tool ('Together')
14 Formal software specifications and program verification  3 lh
bulletMotivation
bulletAlgebraic specification
bulletHoare's specification and verification
bulletModel-oriented specification: specification language Z
bulletEvaluation of techniques

 

 PART III

Design

5 lh
15 Overview of design activities 2 lh
bulletSoftware architecture - documents of this phase (CS-Ldoc)
bulletQuality criteria
bulletProcess and methods
bulletOverview of characteristic software architectures
16 Structured design  1 lh
bulletOverview
bulletDescription methods (structure charts)
bulletExample (CS-L)
17 Object-oriented design 2 lh
bulletPhases and activities
bulletConsequences to user-interface
bulletReusability
bulletPerformance improvements 
bulletFrameworks
bulletImplementation design
bulletExample (CS-L)

 

 PART IV

Implementation and Testing

10 lh
18 Implementation 2 lh
bulletDocuments of this phase (CS-Ldoc)
bulletPrinciples and methods
bulletGuidelines
19 Systematic testing 6 lh
bulletMotivation and concepts
bulletV (software process) model
bulletThe place of testing (validation) in quality assurance plan
bulletClassification of techniques
bulletControl-flow techniques
bulletData-flow techniques
bulletDocuments of this phase (CS-Ldoc)
20 Functional testing  2 lh
bulletFunctional testing
bulletTesting tool CTE
bulletExample (CS-L)

 

 PART V

Advanced problems

 21 lh
21 Software metrics 4 lh
bulletThe importance of measuring software
bulletHistory
bulletOverview and classification
bulletCyclomatic complexity
bulletHalstead metrics
bulletLOC metrics
bulletStyle metrics
bulletObject-oriented metrics
bulletMcCabe testing toolset (CAME-Tools)
bulletEvaluation of techniques
bulletA realistic example (CS-L)
22 Maintenance 2 lh
bulletTypes of maintenance
bulletMaintenance requests specification
bulletCosts and planning
bulletAn example (CS-L)
23 Reverse engineering  4 lh
bulletGoals
bulletConcepts
bulletTechniques and tools
bulletA realistic example (CS-XCTL)
24 Quality of software development process and its standardization 3 lh
bulletRelationship of quality of software development process and the quality of software product
bulletMeaning of the software development quality
bulletISO-9000 normative (CS-Ldoc)
bulletCertificates (motivation and procedure)
bulletOverview of capability assessment models (PSP, TSP, CMM)
bulletSpiral software process model
bulletExtreme programming
25 Introduction to software ergonomics 3 lh
bulletSoftware ergonomics in GUI 
bulletStandards, guidelines
26 User manuals 1 lh
27 Project management 4 lh
bulletPlanning 
bulletOrganization (CS-Ldoc)
bulletPeople management
bulletConfiguration and documentation management (CS-Ldoc)
bulletRisk management
bulletChoosing development tools and support
bulletControl 
[February 10, 2003]
Back to Top  

 

(c) 2002, Klaus Bothe, Zoran Budimac.
For problems or questions regarding this site contact Zoran Budimac.
Last updated: February 08, 2003 09:21:45 PM.