Software Engineering II

Teachers

Included in study programs

Teaching results

After completing the course, students should be able to:
A. Design software systems using an object-oriented approach
B. Know the basic diagrams of UML and the rules of their creation
C. Distinguish between the basic ideas of modern and classical software engineering methodologies.
D. Use appropriate OO modelling methods and techniques to define, analyze, design, implement, test, and operate software systems.
E. Know and apply the basic principles in designing modern software architecture.
F. Know the principles of software testing and design test scenarios.
G. Understand the importance of the maintenance phase.
H. Understand how the team is working and organized and know how to work as part of a team.
I. Present and defend at a professional level their proposed solutions.
J. Prepare technical documentation (report) describing their proposed solution.

Indicative content

1. Basics of OO principles (object, class, abstractions, encapsulation, inheritance, polymorphism). Modeling, levels of abstraction, Modeling techniques of object-oriented design, Unified Modeling Language (UML), description, classification dg. UML in the stages of software development, Class diagram
2. Class diagram, properties, associations, stereotypes,
3. Analytical model design (analytical classes), Sequence diagram,
4. Objects storage - OR mapping, Activity diagram, Collaboration (Status diagram).
5. Software design, Architecture and architecture design
6. Packages (package diagram), Component diagram. Patterns
7. Transition to the design stage, design classes, user interface design
8. Comparison of individual approaches to analysis and design. Software systems implementation: programming languages, implementation strategies, software product documentation.
9. Software systems testing: static and dynamic testing; testing techniques (white box, black box, program browsing, program verification), testing strategies, The role of validation and verification in software development
10. Operation and maintenance of software systems (reusability, changes in requirements, versioning, reengineering), software system configuration management. Computer aided software development, CASE resources.
11. Introduction to software project management. Basic processes of software project management (initialization, planning, management, execution, termination), economics of software development
12. Economics of software development, formal requirements and creation of contractual relations in software projects.
13. Quality management and measurement in software engineering. Ethics of software development, protection of intellectual property, code of ethics of a software engineer.

Support literature

1. Somerville, I.: Software Engineering, Addison-Wesley, 9. vydanie, 2011.
2. Russev S. a kol.:Softvérové inžinierstvo, Ekonóm Bratislava 2006
3. Fowler, M. 2009. Destilované UML. Grada Publishing a.s., ISBN 9788024720623.
4. Kadlec, V. 2004. Agilní programování: metodiky efektivního vývoje softwaru. Computer Press, ISBN 9788025103425.
5. Kanisová, H. 2006. UML srozumitelně. Computer Press, ISBN 9788025110836.
6. Schach, S.R. 2002. Object-oriented and classical software engineering. McGraw-Hill, ISBN 9780071122634.

Requirements to complete the course

40 % assignments: The aim of the assignments is to develop and defend a project on which students work in groups that have a defined team leader. The students choose the leader from among themselves. Students organize group work autonomously and are managed by a team leader. The evaluation of the results of the group's work (submitted project) is evaluated as a whole for the whole group. The evaluation of the contribution of individual members of the group to the evaluation of the group is the result of the group's internal agreement. Part of the evaluation of an individual student is also his activity in opposing and evaluating other groups' projects. The results of the work (project) are submitted by the group for evaluation during the semester three times. The following educational results are evaluated by evaluating projects and evaluating the opposition of the work results of other groups: A., B., D., E., F., H., I., J.
60 % final exam: The final exam consists of two parts: a test and a specific problem to solve. The test verifies the achieved level of educational results A., C., D., E., F., G., the solution of the problem task verifies the achieved level of educational results B., D., E., F.

Student workload

Total study load (in hours): 5 credits x 26 hours = 130 hours
Distribution of study load
Lectures and seminar participation: 52 hours
Preparation for seminars: 13 hours
Written assignments: 45 hours
Final exam preparation: 20 hours

Language whose command is required to complete the course

slovak

Date of approval: 10.02.2023

Date of the latest change: 18.05.2022