Course detail

Introduction to Software Engineering

FP-udswPAcad. year: 2026/2027

Software engineering and software crisis, history and goals of software engineering, characteristics of software products. Life cycle and stages of software development, introduction to key methodologies. Requirement analysis and specification, use case diagrams. Basic principles and modelling techniques of structured analysis and design (DFD, ERD). Basic notions of object-orientation (object, class, abstraction, encapsulation, inheritance, polymorphism). Modelling techniques of object-oriented analysis and design (class diagram, object diagram, design patterns). UML within software development (collaboration diagram, sequence diagram, activity diagram, statechart diagram, OCL). Implementation, verification and validation (black box and white box testing). Agile software development. Introduction to software maintenance. Management of software projects, quality assurance, intellectual property, software engineering code of ethics and professional practice.

5 ECTS credits represent approximately 130 hours of study workload. Within IUS, it can be utilised as follows:

  • 39 hours of lectures
  • 8 hours of exercises
  • 12 hours for homework assignment
  • 16 hours for team project
  • 26 hours of continuous study
  • 29 hours of study for final exam

Language of instruction

Czech

Number of ECTS credits

5

Mode of study

Not applicable.

Entry knowledge

This course takes place in a winter term of the first year of the bachelor's study programme. Thus, we expect that students have the high school level knowledge of using computers.

Rules for evaluation and completion of the course

Within this course, attendance on the lectures is not monitored. The knowledge of students is evaluated within exercises, by homework assignment, by the project and its defence and by the final exam. Students can obtain up to 12 points from four two hours long exercises (3 points from each), 12 points for homework assignment (ER diagram), 16 points from the team project with presentation and up to 60 points from the final exam.

Points from the exercises can be obtained only for active participation (mistakes and wrong answers are fine while not involving into the discussion and problem-solving can result in losing points). When a student cannot attend the exercise and proves it according to Article 55 of Study and Examination Rules of BUT (s)he can either attend the exercise with a different group (please inform the teacher about that) or (s)he can ask for assigning points based on the homework assignment (for the 1st and 2nd exercise) or on the project (for the 3rd and 4th exercise).

For receiving the credit and thus for entering the exam, students have to get at least 18 points from the exercises, homework assignment and from the project. If fraudulent behaviour in participation in exercises, plagiarism, or not allowed collaboration on a homework assignment or project is discovered, credit will not be awarded and further disciplinary action will be considered.

The minimal number of points which can be obtained from the final exam is 30. Otherwise, no points will be assigned to a student.

Aims

Students get an overview in the area of complex software system development. In particular, they become familiar with the software development life cycle and its stages, understand methods for the requirements specification and the system design. In addition, they learn selected UML diagrams.

Study aids

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

Cha S.; Taylor R. N.; Kang K.C. Handbook of Software Engineering. Springer, 2019. ISBN 978-3-030-00262-6. DOI 10.1007/978-3-030-00262-6. (EN)
Arlow, J., Neustadt, I.: UML2 a unifikovaný proces vývoje aplikací. Computer Press, Brno, 2007. ISBN 978-80-251-1503-9. (CS)
Daoust, N. UML Requirements Modeling For Business Analysts. Technics Publications, 2012. 268 p. ‎ ISBN 978-1935504245. (EN)
Wiegers, K., Beatty, J. Software Requirements. Microsoft Press, 2013. 637 p. ISBN: 978-0735679658. (EN)

Recommended reading

Kočí, R., Křena, B.: Úvod do softwarového inženýrství. Studijní opora, VUT v Brně, 2010. (CS)
Křena, B., Kočí, R.: Zadání a vzorová řešení ER diagramů ze zkoušek. Sbírka úloh. VUT v Brně, 2016. (CS)
Paleta, P. Co programátory ve škole neučí aneb Softwarové inženýrství v reálné praxi. Computer press, 2004. ISBN 80-251-0073-1.  (CS)

Classification of course in study plans

  • Programme BAK-MIn Bachelor's 1 year of study, winter semester, compulsory

Type of course unit

 

Lecture

39 hours, optionally

Teacher / Lecturer

Syllabus

  1. Software engineering history, basic notions, the overview of development techniques.
  2. Software lifetime, models of software lifetime.
  3. Requirement analysis, methods of requirements specification, modelling techniques (Use Case Diagram).
  4. Structured analysis and design, methods, modelling techniques. Data-Flow Diagram (DFD) and the Entity-Relationship Diagram (ERD).
  5. Object-oriented analysis and design, methods, modelling techniques. Unified Modelling Language (UML), Class Diagram and Object Diagram.
  6. Chosen modelling means of UML (Activity, Sequence, Communication, and Statechart Diagrams).
  7. Complex modelling with UML.
  8. Design and architectural patterns.
  9. Introduction to verification, validation, and testing.
  10. Agile methods of software development, basic principles of extreme programming and prototyping.
  11. Basic principles of software operation and maintenance.
  12. Introduction to software project management.
  13. Software quality, intellectual property rights, Software Engineering Code of Ethics.

Fundamentals seminar

8 hours, optionally

Teacher / Lecturer

Syllabus

Students will complete four two-hour sessions on the following topics:

  1. Requirements in UML - Use case diagram, Activity diagram and State diagram (3rd and 4th weeks, 3 points)
  2. Data modelling - ER diagram (5th and 6th weeks, 3 points)
  3. Analysis and Design in UML - Class diagram and Object diagram (7th and 8th weeks, 3 points)
  4. Analysis and Design in UML - Sequence diagram and Communication diagram (9th and 10th weeks, 3 points)

Learning Outcomes

  1. Knowledge: Students will be familiar with the most common problems in the development of large software systems, software development stages and life cycle models (including agile methodologies), and the differences between structured and object-oriented approaches to the analysis and design of software systems.
  2. Eligibility: Students will be able to create and use selected UML and ER diagrams in software development and will be familiar with software testing, deployment, operation and maintenance as well as software project management processes.
  3. Professional skills: Students will be able to use UML to capture the most important aspects of software development, namely the requirements for the system, the data that will need to be stored in the system, and the structure and behaviour of the system (both at a conceptual level at the analysis stage and in detail at the design stage).

Project

10 hours, optionally

Teacher / Lecturer

Syllabus

  • Individual homework assignment - ER diagram (12 points)
  • Complex model of an information system for the team of students (16 points)

Self-study

34 hours, optionally

Teacher / Lecturer

Individual preparation for an ending of the course

29 hours, optionally

Teacher / Lecturer