Lectures:
The course is taught as a block of lectures and exercises with a time allocation of 1.5 hours for the lecture and 1.5 hours for the exercise.
The course focuses on the practical application of acquired knowledge, practicing the software development cycle using visual modeling with UML.
Software Processes – Software lifecycle, Waterfall, V-Model, UP, agile methods, software quality
Specification and Requirements Analysis – Use cases and user stories, functional and non-functional requirements
Software Analysis and Design – Static and dynamic views, use of UML, software architecture, design patterns
Implementation – Implementation according to models, configuration management, version control systems, tool selection and use
Software Verification and Validation – Testing methods, verification and validation of non-coded artifacts, regression tests
Exercises Content:
The exercises focus on getting acquainted with the software development cycle and the specification of individual parts. The exercises progressively go through the phases of software development and gradually introduce various UML diagrams. The exercises also focus on consultations related to the independent processing of the software project and its final implementation. Completing the project and passing the tests in the exercises are required to obtain the course credit.
Content of individual exercises:
- Problem analysis, verbal specification of requirements, structured specification of requirements. Practice on examples.
- Creating use cases, scenarios, user stories, introduction to use case diagrams, include and extend relationships. Practice on examples.
- Use case diagram, inheritance relationships between actors, inheritance between use cases. Practice on examples.
- Identification of entities in the system – analysis of significant nouns in use cases. - Basics of class diagrams. Class, association links, multiplicity. Method of converting the diagram into a programming language. Practice on examples.
- Assembling a structural view of the system. Class diagram – inheritance links, interface implementation, roles, interfaces, aggregation and composition, association class. Method of converting the diagram into a programming language. Practice on examples.
- Realization of use cases – sequence diagrams. Introduction to the basics – object, object call, return message. Practice on examples.
- Sequence diagrams – alternatives, loops, synchronous and asynchronous calls, operation runtime. Method of converting the diagram into a programming language. Practice on examples.
- Communication diagrams. Refinement of class diagrams based on sequence and communication diagrams. Practice on examples.
- State diagrams – state changes, implementation in programming languages. Practice on examples.
- Activity diagrams and their use for problem definition – business model. Practice on examples.
- Use of activity diagrams for describing use cases and algorithms in the system. Practice on examples.
- Implementation of the software project based on the created analysis – package and deployment diagrams. Practice on examples.
- Recapitulation of exercises – progress through individual project phases, use of UML diagrams.
The course is taught as a block of lectures and exercises with a time allocation of 1.5 hours for the lecture and 1.5 hours for the exercise.
The course focuses on the practical application of acquired knowledge, practicing the software development cycle using visual modeling with UML.
Software Processes – Software lifecycle, Waterfall, V-Model, UP, agile methods, software quality
Specification and Requirements Analysis – Use cases and user stories, functional and non-functional requirements
Software Analysis and Design – Static and dynamic views, use of UML, software architecture, design patterns
Implementation – Implementation according to models, configuration management, version control systems, tool selection and use
Software Verification and Validation – Testing methods, verification and validation of non-coded artifacts, regression tests
Exercises Content:
The exercises focus on getting acquainted with the software development cycle and the specification of individual parts. The exercises progressively go through the phases of software development and gradually introduce various UML diagrams. The exercises also focus on consultations related to the independent processing of the software project and its final implementation. Completing the project and passing the tests in the exercises are required to obtain the course credit.
Content of individual exercises:
- Problem analysis, verbal specification of requirements, structured specification of requirements. Practice on examples.
- Creating use cases, scenarios, user stories, introduction to use case diagrams, include and extend relationships. Practice on examples.
- Use case diagram, inheritance relationships between actors, inheritance between use cases. Practice on examples.
- Identification of entities in the system – analysis of significant nouns in use cases. - Basics of class diagrams. Class, association links, multiplicity. Method of converting the diagram into a programming language. Practice on examples.
- Assembling a structural view of the system. Class diagram – inheritance links, interface implementation, roles, interfaces, aggregation and composition, association class. Method of converting the diagram into a programming language. Practice on examples.
- Realization of use cases – sequence diagrams. Introduction to the basics – object, object call, return message. Practice on examples.
- Sequence diagrams – alternatives, loops, synchronous and asynchronous calls, operation runtime. Method of converting the diagram into a programming language. Practice on examples.
- Communication diagrams. Refinement of class diagrams based on sequence and communication diagrams. Practice on examples.
- State diagrams – state changes, implementation in programming languages. Practice on examples.
- Activity diagrams and their use for problem definition – business model. Practice on examples.
- Use of activity diagrams for describing use cases and algorithms in the system. Practice on examples.
- Implementation of the software project based on the created analysis – package and deployment diagrams. Practice on examples.
- Recapitulation of exercises – progress through individual project phases, use of UML diagrams.