Course details
Introduction to Software Engineering
IUS Acad. year 2016/2017 Winter semester 5 credits
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.
Guarantor
Language of instruction
Completion
Time span
- 39 hrs lectures
- 13 hrs projects
Assessment points
- 60 pts final exam (written part)
- 15 pts numeric exercises
- 25 pts projects
Department
Subject specific learning outcomes and competences
Student gets an overview in the area of complex software system development. Students acquaints 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. Student acquaints with basics of computer publishing.
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.
Learning objectives
To provide 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.
Prerequisite knowledge and skills
This course takes place in the winter term of the first year of the bachelors study programme. Thus, we expect that students have the high school level knowledge of using computers.
Study literature
- 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.
Fundamental 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.
Syllabus of lectures
- 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.
Progress assessment
For receiving the credit and thus for entering the exam, students have to get at least 10 points from the project. Plagiarism and not allowed cooperation will cause that involved students are not classified and disciplinary action may be initiated.
Controlled instruction
Within this course, attadance on the lectures is not monitored. The knowledge of students is examined by the project and by the final exam. The minimal number of points which can be obtained from the final exam is 28. Otherwise, no points will be assigned to a student.
Course inclusion in study plans