Course detail
Introduction to Software Engineering
FP-USINAcad. year: 2020/2021
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 USIN, it can be utilized as follows:
• 39 hours of lectures
• 8 hours of exercises
• 30 hours of project work
• 13 hours of continual study
• 35 hours of study for final exam
Language of instruction
Number of ECTS credits
Mode of study
Guarantor
Department
Learning outcomes of the course unit
Prerequisites
Co-requisites
Planned learning activities and teaching methods
2) Exercises - full-time participation of students in exercises is assumed. Students are involved in solving the discussed problems at the black board. There is not an adequate replacement of exercises possible. A recording of a demo exercise and supplemented by a consultation may be considered.
3) Project - is solved by students independently according to the chosen assignment. At the end of the semester, they will defend their solution in front of an assistant. If needed, a defense through a selected teleconferencing system may be considered.
4) Exam - is written and includes all the subjects covered by the lectures, including verification of students' ability to apply their knowledge in a creative way. The implementation of the exam without the physical presence of the student encounters legislative obstacles. Thus, we can expect a postponement of the exam date rather than its implementation online.
Assesment methods and criteria linked to learning outcomes
• For receiving the credit and thus for entering the exam, students have to get at least 18 points from the exercises and from the project. Plagiarism and not allowed cooperation will cause that involved students are not classified and disciplinary action may be initiated.
Course curriculum
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.
Work placements
Aims
Specification of controlled education, way of implementation and compensation for absences
• The knowledge of students is evaluated within exercises, by the 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 for the alternative assignment that can compensate lost points from the exercise.
Recommended optional programme components
Prerequisites and corequisites
Basic literature
Page-Jones, M.: Základy objektově orientovaného návrhu v UML. Grada, 2001. ISBN 80-247-0210-X. (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)
Pezze, M., Young, M. Software Testing and Analysis: Process, Principles, and Techniques. John Wiley & Sons, 2007. ISBN 978-0-471-45593-6. (EN)
Richta, K., Sochor, J.: Softwarové inženýrství I. Vydavatelství ČVUT, Praha 1996 (dotisk 1998). ISBN: 80-01-01428-2. (CS)
Recommended reading
Kočí, R., Křena, B.: Úvod do softwarového inženýrství. Studijní opora, Vysoké učení technické 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)
Objektově orientované modelování systémů - učební text : učební text zaměřený na jazyk UML 2.0. Vysoké učení technické v Brně, 2004. (CS)
Elearning
Classification of course in study plans
- Programme BAK-MIn Bachelor's 1 year of study, winter semester, compulsory
Type of course unit
Lecture
Teacher / Lecturer
Syllabus
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.
Exercise
Teacher / Lecturer
Syllabus
2. Data modelling - ER diagram (5th and 6th weeks, 4 points)
3. Analysis and Design in UML - Class diagram and Object diagram (7th and 8th weeks, 4 points)
4. Analysis and Design in UML - Sequence diagram and Communication diagram (9th and 10th weeks, 4 points)
Elearning