Software Engineering

Ac.Year:ukončen 2004/2005 (Not opened)
EI-BC-3VTB1st Stage/2nd YearCompulsory
EI-MSC-5VTI1st Stage/2nd YearCompulsory
Language:Czech, English
Completion:examination (written)
Type of
Hour/semLecturesSem. ExercisesLab. exercisesComp. exercisesOther
Guarantee:Zendulka Jaroslav, doc. Ing., CSc., DIFS
Lecturer:Zendulka Jaroslav, doc. Ing., CSc., DIFS
Instructor:Švec Jaroslav, Ing., DIFS
Faculty:Faculty of Information Technology BUT
Department:Department of Information Systems FIT BUT
Data Modelling and Database Design (DSI), DCSY
Learning objectives:
  To give the students knowledge of essential stages in software system development and to give more detailed knowledge of requirements analysis with an emphasise to modelling techniques of object-oriented (OO) and structured analysis, and to learn using these techniques.
  Concept of "software engineering". Software process models. Requirements specification. Fundamentals of computer-based system analysis and software requirements analysis. Fundamental concepts of object orientation. OO analysis: UML modelling language, survey of OO methods. Tools and modelling techniques of structured analysis. Methods of structured analysis. Software design. Software quality assurance. Software maintenance. Introduction to software project management. A project oriented to requirements analysis by means of a CASE system.
Learning outcomes and competences:
  Students know fundamentals of essential stages in software system development at a level, which is further evolved in specialized subjects. They are able to develop suitable models during analysis and design, mainly in the UML language.
Syllabus of lectures:
  • Introduction, concepts. Software process models.
  • Object-oriented (OO) and structured software development. Computer-based system engineering. Introduction to project management. Fundamentals of requirements analysis. The role of modelling in analysis and design.
  • Fundamental concepts of the OO paradigm.
  • Classification of OO methods and models. The UML modelling language - introduction.
  • The UML - basic behavioural modelling (use case model). Object structure modelling (class and object diagram).
  • The UML - object structure modelling (extension).
  • The UML - behavioural modelling (interaction diagrams, activity diagram, state diagram).
  • Survey of OO methods with emphasis on the analysis stage.
  • Modelling techniques of structured analysis - functional and data modelling, behavioural modelling, data dictionary.
  • Methods of structured analysis.
  • Introduction to software design - concepts, effective modular design. Introduction to software architectures - layers and sections, client/server, multi-tier architectures, components. Architectural modelling in UML.
  • Software quality assurance - formal review, verification, validation. Testing methods and strategies.
  • Introduction to software maintenance. Introduction to project planning - software metrics, estimating.
Syllabus of computer exercises:
  • Selection of a project topic. Discussion of the topic.
  • Introduction to the Rational Rose.
  • UML use case model development in Rational Rose.
  • UML class diagram development in Rational Rose.
  • UML interaction diagrams development in Rational Rose.
  • UML state diagram development in Rational Rose.
Syllabus - others, projects and individual work of students:
  • Informal specification for a selected application.
  • Documentation in UML developed in Rational Rose as a result of requirements analysis for the application.
  • Design of tests.
Fundamental literature:
  • Pressman R.: Software Engineering. A Practitioner's Approach. Fourth Edition.  McGraw-Hill Book Company, 1996, 852 p.
  • Sommerville A.: Software Engineering. Fifth Edition. Addison-Wesley, 1996, 742 p.
  • Fowler M., Scott K.: UML Destilled. Second Edition. A Brief User Guide to the Standard Object Modeling Language. Addison Wesley Longman Inc., 1999, 185 p.
  • Rational Rose on-line help and documentation.
Study literature:
  • Zendulka, J.: Software Engineering. Lecture notes in an electronic form.
  • UML documentation.
Controlled instruction:
  A mid-term test, realization of projects.
Progress assessment:
  A mid-term test, submitting project results and defence of the second project result (models in UML) in due dates.