Software Engineering I

Teachers

Included in study programs

Teaching results

After completing the course, students should be able to:
A. Understand the causes of the software crisis and how to solve it, know the software life cycle
B. Analyze user needs and record them using techniques of selected methods
C. Choose the appropriate method of analysis and design of software system
D. Define functional and non-functional software requirements
E. Define a conceptual data and functional model of the problem domain
F. Understand the essence of software process models, know the strengths and weaknesses of specific methodologies
G. Understand the way the team is working and organized and know how to work as part of a team
H. Present and defend the solutions they propose at a professional level
I. Develop technical documentation (report) describing their proposed solution

Indicative content

1. History of computer use. Software crisis. Software engineering. Concepts and goals of software engineering. Software as a product, Features of software products, Software life cycle, Stages of software systems development, The role of errors in the software process
2. Overview of SE methods (structured approach, data-oriented approach, object-oriented approach), Requirements Engineering (Requirements definition), Requirements analysis and specification (functional and non-functional requirements, requirements validation, formal specifications), Specification document, Listing method requirements, Requirements specification methods.
3. Requirements analysis and specification (functional and non-functional requirements, requirements validation, formal specifications), specification document, Requirements specification methods.
4. Introduction to the analysis and design of software systems. Functional model, data model and behavior model. Structured analysis - overview, modeling techniques, data flow diagram.
5. Conceptual data modeling, entity-relational diagrams, logical data models.
6. Structured analysis - data dictionary, mini-specifications, summary
7. Modeling of functional requirements through use cases (diagram, description, notation, ...)
8. Modeling of automata - state diagrams
9. Software process models, software life cycle models
10. Agile development methodologies, extreme programming and prototyping.
11. Design phase and introduction to software system architecture
12. Visual modeling
13. Introduction to UML

Support literature

1. Russev S. a kol.:Softvérové inžinierstvo, Ekonóm Bratislava 2006
2. Somerville, I.: Software Engineering, Addison-Wesley, 9. edition, 2011
3. Bieliková M.: Ako úspešne vytvoriť projekt, Slovenská technická univerzita v Bratislave, STU, Bratislava 2000, ISBN 80-227-1329-5
4. Richta, K., Sochor, J.: Softwarové inženýrství I. Praha, ČVUT 1996.

Requirements to complete the course

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., F., G., the solution of the problem task verifies the achieved level of educational results B., C., D., E.
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: B., C., D., E., G., H., I.

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