Course detail
Introduction to Software Engineering
FIT-IUSAcad. year: 2018/2019
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, state chart 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, intelectual property, software engineering code of ethics and professional practice.
Language of instruction
Number of ECTS credits
Mode of study
Guarantor
Department
Learning outcomes of the course unit
Students learns to provide analysis and design of the software systems. Students learns to create the project documentation and the program documentation. Students will be able to read and create basic UML models.
Prerequisites
Co-requisites
Planned learning activities and teaching methods
Assesment methods and criteria linked to learning outcomes
Exam prerequisites:
For receiving the credit and thus for entering the exam, students have to get at least 18 points from the excercises 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
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 excercises can be obtained only for active participation (mistakes and wrong answers are fine while not involving into discussion and problem solving can result in loosing points).
When a student cannot attend the excercise and proves it correctly (s)he can either attend the excercise with a different group (please inform the teacher about that) or (s)he can ask his/her teacher for alternative assignement that can compensate lost points from the excercise.
The minimal number of points which can be obtained from the final exam is 28. Otherwise, no points will be assigned to a student.
Recommended optional programme components
Prerequisites and corequisites
Basic literature
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
Daoust, N. UML Requirements Modeling For Business Analysts. Technics Publications, 2012. 268 p. ISBN 978-1935504245.
Objektově orientované modelování systémů - učební text : učební text zaměřený na jazyk UML 2.0. VUT v Brně, 2004.
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.
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.
Wiegers, K., Beatty, J. Software Requirements. Microsoft Press, 2013. 637 p. ISBN: 978-0735679658.
Classification of course in study plans
Type of course unit
Lecture
Teacher / Lecturer
Syllabus
- Software engineering history, basic notions, overview of development techniques.
- Software lifetime, models of software lifetime.
- Requirement analysis, methods of requirements specification, modelling techniques (Use Case Diagram).
- Structured analysis and design, methods, modelling techniques. Data-Flow Diagram (DFD) and Entity-Relationship Diagram (ERD).
- Object-oriented analysis and design, methods, modelling techniques. Unified Modelling Language (UML), Class Diagram and Object Diagram.
- Chosen modelling means of UML (Activity, Sequence, Communication, and Statechart Diagrams).
- Complex modelling with UML.
- Design patterns.
- Introduction to verification, validation, and testing.
- Agile methods of software development, basic principles of extreme programming and prototyping.
- Basic principles of software operation and maintenance.
- Introduction to software project management.
- Software quality, intellectual property rights, Software Engineering Code of Ethics.
Fundamentals seminar
Teacher / Lecturer
Syllabus
- Requirements in UML - Use case diagram, Activity diagram and State diagram (4. and 5. weeks, 5 points)
- Data modeling - ER diagram (6. and 7. weeks, 5 points)
- Analysis and Design in UML - Class diagram, Object diagram, Sequence diagram and Commnication diagram (8. and 9. weeks, 5 points)
Project
Teacher / Lecturer
Syllabus
- Model of an information system (25 points)