Course Unit Code | 460-4147/02 |
---|
Number of ECTS Credits Allocated | 4 ECTS credits |
---|
Type of Course Unit * | Optional |
---|
Level of Course Unit * | Second Cycle |
---|
Year of Study * | |
---|
Semester when the Course Unit is delivered | Winter Semester |
---|
Mode of Delivery | Face-to-face |
---|
Language of Instruction | English |
---|
Prerequisites and Co-Requisites | Course succeeds to compulsory courses of previous semester |
---|
Name of Lecturer(s) | Personal ID | Name |
---|
| JEZ04 | Ing. David Ježek, Ph.D. |
| KOZ01 | Ing. Jan Kožusznik, Ph.D. |
| PLU042 | Ing. Jan Plucar, Ph.D. |
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". |
Learning Outcomes of the Course Unit |
---|
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 |
Course Contents |
---|
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. |
Recommended or Required Reading |
---|
Required Reading: |
---|
1. POHL, Klaus. Requirements Engineering: Fundamentals, Principles, and Techniques [online]. Berlin Heidelberg: Springer-Verlag, 2010 [vid. 2018-10-12]. ISBN 978-3-642-12577-5. Dostupné z: //www.springer.com/la/book/9783642125775
2. PRESSMAN, Roger a Bruce MAXIM. Loose Leaf for Software Engineering: A Practitioner’s Approach. 9th edition. New York, NY: McGraw-Hill Education, 2019. ISBN 978-1-260-42331-0.
3. PFLEEGER, Shari Lawrence a Joanne M. ATLEE. Software Engineering: Theory and Practice. 4 edition. Upper Saddle River N.J.: Pearson, 2009. ISBN 978-0-13-606169-4.
4. BLACK, Rex. Advanced Software Testing - Vol. 1, 2nd Edition: Guide to the ISTQB Advanced Certification as an Advanced Test Analyst. 2nd edition. Santa Barbara, CA: Rocky Nook, 2015. ISBN 978-1-937538-68-2.
5. MITCHELL, Jamie L. a Rex BLACK. Advanced Software Testing - Vol. 3, 2nd Edition: Guide to the ISTQB Advanced Certification as an Advanced Technical Test Analyst. 2nd edition. Santa Barbara, CA: Rocky Nook, 2015. ISBN 978-1-937538-64-4.
6. SCHULMEYER, G. Gordon, ed. Handbook of Software Quality Assurance, Fourth Edition. 4th edition. Boston: Artech House, 2007. ISBN 978-1-59693-186-2.
7. BECK, Kent. Test Driven Development: By Example. 1st edition. Boston: Addison-Wesley Professional, 2002. ISBN 978-0-321-14653-3.
8. SHARMA, Anubha, Manoj KUMAR a Sonali AGARWAL. A Complete Survey on Software Architectural Styles and Patterns. Procedia Computer Science [online]. 2015, 70, Proceedings of the 4th International Conference on Eco-friendly Computing and Communication Systems, 16–28. ISSN 1877-0509. Dostupné z: doi:10.1016/j.procs.2015.10.019
9. GAMMA, Erich, Richard HELM, Ralph JOHNSON, John VLISSIDES a Grady BOOCH. Design Patterns: Elements of Reusable Object-Oriented Software. 1 edition. Bonn; Reading, Mass.: Addison-Wesley Professional, 1994. ISBN 978-0-201-63361-0.
10. SCHWABER, Ken. Agile Project Management with Scrum. 1st edition. B.m.: Microsoft Press, 2004.
11. BRECHNER, Eric. Agile Project Management with Kanban. 1st edition. B.m.: Microsoft Press, 2015. |
1. POHL, Klaus. Requirements Engineering: Fundamentals, Principles, and Techniques [online]. Berlin Heidelberg: Springer-Verlag, 2010 [vid. 2018-10-12]. ISBN 978-3-642-12577-5. Dostupné z: //www.springer.com/la/book/9783642125775
2. PRESSMAN, Roger a Bruce MAXIM. Loose Leaf for Software Engineering: A Practitioner’s Approach. 9th edition. New York, NY: McGraw-Hill Education, 2019. ISBN 978-1-260-42331-0.
3. PFLEEGER, Shari Lawrence a Joanne M. ATLEE. Software Engineering: Theory and Practice. 4 edition. Upper Saddle River N.J.: Pearson, 2009. ISBN 978-0-13-606169-4.
4. BLACK, Rex. Advanced Software Testing - Vol. 1, 2nd Edition: Guide to the ISTQB Advanced Certification as an Advanced Test Analyst. 2nd edition. Santa Barbara, CA: Rocky Nook, 2015. ISBN 978-1-937538-68-2.
5. MITCHELL, Jamie L. a Rex BLACK. Advanced Software Testing - Vol. 3, 2nd Edition: Guide to the ISTQB Advanced Certification as an Advanced Technical Test Analyst. 2nd edition. Santa Barbara, CA: Rocky Nook, 2015. ISBN 978-1-937538-64-4.
6. SCHULMEYER, G. Gordon, ed. Handbook of Software Quality Assurance, Fourth Edition. 4th edition. Boston: Artech House, 2007. ISBN 978-1-59693-186-2.
7. BECK, Kent. Test Driven Development: By Example. 1st edition. Boston: Addison-Wesley Professional, 2002. ISBN 978-0-321-14653-3.
8. SHARMA, Anubha, Manoj KUMAR a Sonali AGARWAL. A Complete Survey on Software Architectural Styles and Patterns. Procedia Computer Science [online]. 2015, 70, Proceedings of the 4th International Conference on Eco-friendly Computing and Communication Systems, 16–28. ISSN 1877-0509. Dostupné z: doi:10.1016/j.procs.2015.10.019
9. GAMMA, Erich, Richard HELM, Ralph JOHNSON, John VLISSIDES a Grady BOOCH. Design Patterns: Elements of Reusable Object-Oriented Software. 1 edition. Bonn; Reading, Mass.: Addison-Wesley Professional, 1994. ISBN 978-0-201-63361-0.
10. SCHWABER, Ken. Agile Project Management with Scrum. 1st edition. B.m.: Microsoft Press, 2004.
11. BRECHNER, Eric. Agile Project Management with Kanban. 1st edition. B.m.: Microsoft Press, 2015. |
Recommended Reading: |
---|
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. |
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. |
Planned learning activities and teaching methods |
---|
Lectures, Tutorials |
Assesment methods and criteria |
---|
Tasks are not Defined |