Course detail

Introduction to Software Engineering

FIT-IUSAcad. year: 2021/2022

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 125-150 hours of study workload. Within IUS, it can be utilized as follows:

  • 39 hours of lectures
  • 8 hours of exercises
  • 12 hours for homework assignment
  • 16 hours for team project
  • 13 hours of continual study
  • 37 hours of study for final exam

Language of instruction

Czech

Number of ECTS credits

5

Mode of study

Not applicable.

Learning outcomes of the course unit

Student gets an overview in the area of complex software system development. Students acquaint especially with software development stages and with models of software life-time. Student makes sense of the methodics basis of the requirements analysis and the software system design. He/she learns to use chosen UML models.
Students learn to provide analysis and design of the software systems. Students will be able to read and create basic UML models.

Prerequisites

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.

Co-requisites

Not applicable.

Planned learning activities and teaching methods

Not applicable.

Assesment methods and criteria linked to learning outcomes

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.

Course curriculum

Not applicable.

Work placements

Not applicable.

Aims

To provide an overview and basics of the complex software system building. To acquaint with the process of software systems creation. This process is analyzed as an integration of system development, software quality assurance, and software project management. To acquaint with the development stages of the software lifetime. The consideration is focused on all development stages, mainly the requirements analysis, requirements specification, and methods of software design. To learn to use basic models of UML and to get familiarity with methodics of UML-based modelling.

Specification of controlled education, way of implementation and compensation for absences

Within this course, attendance on the lectures is not monitored. Monday lecture is given for lecture group 1BIA, Thursday lecture for group 1BIB. Students from lecture groups 2BIA and 2BIB can choose which lecture they attend. Students from 1BIA and 1BIB lecture groups can attend the lecture given for the other group without any permission.

The knowledge of students is evaluated within exercises, by the homework assignment, project and its defence and by the final exam.

Points from the exercises can be obtained only for active participation (mistakes and wrong answers are fine while avoiding the discussion and problem-solving can result in losing points).

When a student cannot attend the exercise and proves it correctly (s)he can either attend the exercise with a different group (please inform the teacher about that) or (s)he can ask his/her teacher to assign points based on homework assignment (1st and 2nd exercise) or on project (3rd and 4th exercise).

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

Recommended optional programme components

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

Beck, K. Extrémní programování. Grada, Praha, 2002. ISBN 80-247-0300-9. 
Page-Jones, M. Základy objektově orientovaného návrhu v UML. Grada, Praha, 2001. ISBN 80-247-0210-X.
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. 
Pezze, M., Young, M. Software Testing and Analysis: Process, Principles, and Techniques. John Wiley & Sons, 2007. ISBN 978-0-471-45593-6. 
Richta, K., Sochor, J. Softwarové inženýrství I. Vydavatelství ČVUT, Praha 1996 (dotisk 1998). ISBN 80-01-01428-2.

Recommended reading

Kočí, R., Křena, B.: Úvod do softwarového inženýrství. Studijní opora, VUT v Brně, 2010.
Křena, B., Kočí, R.: Zadání a vzorová řešení ER diagramů ze zkoušek. Sbírka úloh. VUT v Brně, 2016.
Objektově orientované modelování systémů - učební text : učební text zaměřený na jazyk UML 2.0. VUT v Brně, 2004.
Arlow, J., Neustadt, I.: UML2 a unifikovaný proces vývoje aplikací. Computer Press, Brno, 2007. ISBN 978-80-251-1503-9.
Daoust, N. UML Requirements Modeling For Business Analysts. Technics Publications, 2012. 268 p. ‎ ISBN 978-1935504245.
Wiegers, K., Beatty, J. Software Requirements. Microsoft Press, 2013. 637 p. ISBN: 978-0735679658.
Larman, C. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development. 3rd Edition. 736 p. Pearson, 2004. ISBN: 978-0131489066.

eLearning

Classification of course in study plans

  • Programme BIT Bachelor's, 1. year of study, winter semester, compulsory

  • Programme IT-BC-3 Bachelor's

    branch BIT , 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 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, compulsory

Teacher / Lecturer

Syllabus

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

Project

10 hours, compulsory

Teacher / Lecturer

Syllabus

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

eLearning