460-4149/01 – Software Engineering I (SWI I)
Gurantor department | Department of Computer Science | Credits | 5 |
Subject guarantor | Ing. Svatopluk Štolfa, Ph.D. | Subject version guarantor | Ing. Svatopluk Štolfa, Ph.D. |
Study level | undergraduate or graduate | Requirement | Choice-compulsory type A |
Year | 1 | Semester | winter |
| | Study language | Czech |
Year of introduction | 2022/2023 | Year of cancellation | 2023/2024 |
Intended for the faculties | FEI | Intended for study types | Follow-up Master |
Subject aims expressed by acquired skills and competences
The aim of the course is to acquaint students with the procedures leading to the creation of a software systems that meets the users’ requirements in predicted time and cost. Students will get acquainted with various software processes, from robust to agile, they will learn to define the software process, its needs and deployment, monitor the process and control the quality of its deployment on projects. Furthermore, they will get acquainted and learn how to apply various methods of creating requirements with a focus on techniques and methods of requirements elicitation, specification, analysis, organization, integration and connection of requirements gathering and analysis into other phases of the software process.
Teaching methods
Lectures
Tutorials
Project work
Summary
Předmět se zabývá problematikou softwarových procesů a technikami sběru, vyjednávání, dokumentace, monitorování a správy požadavků a vlivem požadavků na další fáze vývoje software.
Compulsory literature:
Recommended literature:
Way of continuous check of knowledge in the course of semester
Fulfillment of tasks and project in exercises for granting credit. The exam is done in the form of a written verification of knowledge on assignments and when the required number of points is reached, the knowledge of the theory is verified by the follow up oral part of the exam.
E-learning
Other requirements
Basic knowledge about software engineering, programming languages.
Prerequisities
Subject has no prerequisities.
Co-requisities
Subject has no co-requisities.
Subject syllabus:
Lectures:
1. Software processes - description, models of software processes I.
2. Software processes - description, models of software processes II.
3. Evaluation of software processes - quality control, suggestions for improvement.
4. Creation of software processes - definition of the process, individual steps, responsibilities, measurable goals.
5. Deployment of software process - procedures and modifications of processes for various types of projects, set up of tools, creation of instructions and templates.
6. Discipline elicitation of requirements, what is a requirement, classification of requirements. Functional requirements, quality requirements and limitations.
7. Requirements management. Requirements management process - elicitation, specifications, requirements negotiation.
8. Methods and procedures for specifying software system requirements. Method of structured description of requirements, division, hierarchy.
9. Methods and procedures for specifying software system requirements. Use case method to capture requirements.
10. Business modeling and requirements collection. Methods, procedures and use of business modeling.
11. Methods of documentation of requirements, division into documents, their attributes and interconnection.
12. Traceability of requirements, dependence of requirements, prioritization, change management.
13. Usage of practical knowledge about the specification of requirements as an input to the software process improvement.
14. Methods and procedures of software system requirements analysis, their connection with implementation.
Tutorials:
Within the exercises, individual thematic areas will be practically practiced on demonstration tasks forming the final project.
1. Comparison of individual models of software development, advantages and disadvantages.
2. Base practices of individual phases of the software process, division into subprocesses and their interconnection.
3. Evaluation of processes according to required standards, final report, proposal for improvement.
4. Creating your own software process, its design, description, role, goals.
5. Creating instructions and templates for process deployment.
6. Types of customers, customer requirements, the process of communication with customers with respect to the software process, processing of customer documentation,
7. System requirements - goals, vision.
8. System requirements - attributes, administration process, linking to customer requirements.
9. System requirements - method of structured description, classification.
10. System requirements - method of use cases.
11. Methods and procedures for specifying software system requirements - implementation of requirements - linking to a structural and dynamic view of the system architecture.
12. Roles and their activities in creating a model of requirements and iterative development of the model - practice of work of individual roles, review of requirements.
13. Usage of practical knowledge about the specification of requirements as an input to the software process improvement - modification of the process according to past projects, examples.
14. Methods and procedures of software system requirements analysis - closure of the project, documentation persistance.
Conditions for subject completion
Occurrence in study plans
Occurrence in special blocks
Assessment of instruction