Skip to main content
Skip header

Software Engineering I

* Exchange students do not have to consider this information when selecting suitable courses for an exchange stay.

Course Unit Code460-4149/01
Number of ECTS Credits Allocated5 ECTS credits
Type of Course Unit *Choice-compulsory type A
Level of Course Unit *Second Cycle
Year of Study *First Year
Semester when the Course Unit is deliveredWinter Semester
Mode of DeliveryFace-to-face
Language of InstructionCzech
Prerequisites and Co-Requisites There are no prerequisites or co-requisites for this course unit
Name of Lecturer(s)Personal IDName
STO03Ing. Svatopluk Štolfa, Ph.D.
Summary
Learning Outcomes of the Course Unit
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.
Course Contents
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.
Recommended or Required Reading
Required Reading:
1. Münch, J. (Ed.), 2012. Software process definition and management, Fraunhofer IESE series on software and systems engineering. Springer, Heidelberg,
2. Elizabeth Hull, Ken Jackson, Jeremy Dick. Requirements Engineering. ISBN 1849964041, Springer, October 11, 2010
3. Klaus Pohl, Chris Rupp. Requirements Engineering Fundamentals. ISBN-13: 978-1933952819, Rocky Nook; May 1, 2011.
4. Suzanne Robertson, James Robertson. Mastering the Requirements Process: Getting Requirements Right (3rdEdition), ISBN-13: 978-0321815743, Addison-Wesley Professional; 3 edition, August 16, 2012.
1. Münch, J. (Ed.), 2012. Software process definition and management, Fraunhofer IESE series on software and systems engineering. Springer, Heidelberg,
2. Elizabeth Hull, Ken Jackson, Jeremy Dick. Requirements Engineering. ISBN 1849964041, Springer, October 11, 2010
3. Klaus Pohl, Chris Rupp. Requirements Engineering Fundamentals. ISBN-13: 978-1933952819, Rocky Nook; May 1, 2011.
4. Suzanne Robertson, James Robertson. Mastering the Requirements Process: Getting Requirements Right (3rdEdition), ISBN-13: 978-0321815743, Addison-Wesley Professional; 3 edition, August 16, 2012.
Recommended Reading:
1. Pfleeger, Shari Lawrence, and Joanne M. Atlee. 2009. Software Engineering: Theory and Practice: Prentice Hall, ISBN 0136061699.
2. Pressman, Roger S. 2010. Software Engineering : A Practitioner's Approach. 7th ed. New York: McGraw-Hill Higher Education, ISBN 9780073375977.
3. Sommerville, Ian. 2010. Software Engineering. 9th ed, International Computer Science Series. Harlow: AddisonWesley, ISBN 978-0137035151.
1. Pfleeger, Shari Lawrence, and Joanne M. Atlee. 2009. Software Engineering: Theory and Practice: Prentice Hall, ISBN 0136061699.
2. Pressman, Roger S. 2010. Software Engineering : A Practitioner's Approach. 7th ed. New York: McGraw-Hill Higher Education, ISBN 9780073375977.
3. Sommerville, Ian. 2010. Software Engineering. 9th ed, International Computer Science Series. Harlow: AddisonWesley, ISBN 978-0137035151.
Planned learning activities and teaching methods
Lectures, Tutorials, Project work
Assesment methods and criteria
Task TitleTask TypeMaximum Number of Points
(Act. for Subtasks)
Minimum Number of Points for Task Passing
Credit and ExaminationCredit and Examination100 (100)51
        CreditCredit45 25
        ExaminationExamination55 25