460-4147/01 – Software Quality (KS)
Gurantor department | Department of Computer Science | Credits | 4 |
Subject guarantor | Ing. Jan Kožusznik, Ph.D. | Subject version guarantor | Ing. Jan Kožusznik, Ph.D. |
Study level | undergraduate or graduate | Requirement | Compulsory |
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 student knows intimately:
- Qualitative requirements and quality attributes of software architecture,
- Software quality measurement methods
- Levels of testing.
- Testing techniques.
- Testing process.
- Basics of software quality.
- General principles of computer security.
- SCRUM
Teaching methods
Lectures
Tutorials
Summary
The course acquaints students in detail with the design phase of software in terms of quality. It also deals with software testing and quality assurance throughout the software development life cycle. Students will gain knowledge about the various levels of testing and techniques used in these levels, ways to evaluate the quality of software and the tests themselves. The course is also focused on the issue of software quality from the perspective of computer security - "safety" and "security".
Compulsory literature:
Recommended literature:
1. KOELSCH, George. Requirements Writing for System Engineering [online]. B.m.: Apress, 2016 [vid. 2021-02-24].
ISBN 978-1-4842-2098-6. Dostupné z: doi:10.1007/978-1-4842-2099-3
2. COPELAND, Lee. A Practitioner’s Guide to Software Test Design. Illustrated edition. Boston, Mass. ; London: Artech House, 2004.
ISBN 978-1-58053-791-9.
3. CHEMUTURI, Murali. Mastering Software Quality Assurance: Best Practices, Tools and Techniques for Software Developers. Illustrated edition. Fort Lauderdale, Fla: J. Ross Publishing, 2010.
ISBN 978-1-60427-032-7.
4. JORGENSEN, Paul C. Software Testing: A Craftsman’s Approach, Fourth Edition. 4th edition. Boca Raton, Florida: Auerbach Publications, 2013.
ISBN 978-1-4665-6068-0.
5. PETER WILLIAMS BRIAN HAMBLING, Brian Hambling. Software Testing. 3rd edition. B.m.: BCS, The Chartered Institute for IT, 2015.
ISBN 978-1-78017-299-6.
6. HOHPE, Gregor a Bobby WOOLF. Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. Boston: Addison-Wesley Professional, 2003.
ISBN 978-0-321-20068-6.
7. HOHPE, Gregor. Enterprise Integration Patterns, Vol 2: Conversation Patterns. 1st edition. Place of publication not identified: Addison-Wesley Professional, 2021.
ISBN 978-0-13-469993-6.
8. SUTHERLAND, Jeff a J. J. SUTHERLAND. Scrum: The Art of Doing Twice the Work in Half the Time. 1st edition. B.m.: Cornerstone Digital, 2014.
Way of continuous check of knowledge in the course of semester
Credit tests, semester projects, oral exam and test.
E-learning
Other requirements
They are not required.
Prerequisities
Subject has no prerequisities.
Co-requisities
Subject has no co-requisities.
Subject syllabus:
Lectures:
1. Software quality requirements. Qualitative attributes of software design.
2. Software quality measurement, "Safety" and "security" software design analysis.
3. Testing management. V-model for testing.
4. Testing techniques. Black-box and White-box tests.
5. Testing of components. Integration testing.
6. Architectural styles and patterns. Tactics for achieving qualitative attributes.
7. GoF design patterns. Integration patterns.
8. Design principles - modularity (cohesion, coupling), separation of implementation from interface (interface specification).
9. General principles of computer security
10. Software requirements from the point of view of security.
11. Software design from the point of view of security.
12. Agile methods of software development: agile, SCRUM, Kanban.
13. Source code versioning. Git system.
Labs:
1. Software quality requirements. Qualitative attributes of software design.
2. Software quality measurement, "Safety" and "security" software design analysis.
3. Testing management. V-model for testing.
4. Testing techniques. Black-box and White-box tests.
5. Testing of components. Integration testing.
6. Architectural styles and patterns. Tactics for achieving qualitative attributes.
7. GoF design patterns. Integration patterns.
8. Design principles - modularity (cohesion, coupling), separation of implementation from interface (interface specification).
9. General principles of computer security
10. Software requirements from the point of view of security.
11. Software design from the point of view of security.
12. Agile methods of software development: agile, SCRUM, Kanban.
13. Source code versioning. Git system.
Conditions for subject completion
Occurrence in study plans
Occurrence in special blocks
Assessment of instruction