PV260 Software Quality

Fakulta informatiky
jaro 2015
Rozsah
2/2. 4 kr. (plus ukončení). Ukončení: k.
Vyučující
doc. Ing. RNDr. Barbora Bühnová, Ph.D. (přednášející)
Bruno Rossi, PhD (přednášející)
RNDr. Ondřej Krajíček (přednášející)
Mgr. Martin Osovský (přednášející)
Mgr. Petr Neugebauer (přednášející)
RNDr. Stanislav Chren, Ph.D. (cvičící)
Mgr. Václav Hála (cvičící)
Mgr. Radim Göth (cvičící)
Garance
doc. RNDr. Eva Hladká, Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky
Rozvrh
Út 12:00–13:50 A318
  • Rozvrh seminárních/paralelních skupin:
PV260/01: Út 14:00–15:50 B117, V. Hála, S. Chren
PV260/02: Út 18:00–19:50 B311, V. Hála, S. Chren
PV260/03: Út 16:00–17:50 B411, R. Göth
Předpoklady
PB007 Softwarové inženýrství I && ( PV168 Seminář programování Java || PV178 Úvod do vývoje v C#/.NET )
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Předmět si smí zapsat nejvýše 50 stud.
Momentální stav registrace a zápisu: zapsáno: 0/50, pouze zareg.: 0/50, pouze zareg. s předností (mateřské obory): 0/50
Mateřské obory/plány
předmět má 20 mateřských oborů, zobrazit
Cíle předmětu
At the end of the course students should:
understand different aspects of software quality (quality attributes, metrics, conflicts) and supportive processes (activities contributing to building software quality along the development process);
develop critical thinking and be able to identify code flaws related to reliability, performance, scalability, maintainability and testability;
be able to refactor existing code to improve the discussed quality attributes;
have practical experience with different dimensions of software testing and related tools.
Osnova
  • Lect 1. Course organization. Roadmap to software quality engineering methods and quality attributes.
  • Lect 2. Software measurement and metrics, and their role in software quality improvement.
  • Lect 3. Quality in software development, Clean Code & SOLID principles.
  • Lect 4. Bad code smells and code refactoring.
  • Lect 5. Focus on quality attributes and conflicts between them.
  • Lect 6. Static code analysis and code reviews.
  • Lect 7. Best practices in software testing and testability. Popular testing strategies and their limitations.
  • Lect 8. Requirements and test cases. From unit testing to integration testing.
  • Lect 9. Continuous integration and issue tracking.
  • Lect 10. Performance engineering and performance testing.
  • Lect 11. Challenges of quality management in cloud applications.
  • Lect 12. Quality and testing in agile.
  • Lect 13. Software quality management process. Course summary.
Literatura
  • ROBERT.C., Martin. Clean Code: A Handbook of Agile Software Craftsmanship. New York: Prentice Hall, 2008. ISBN 978-0-13-235088-4. info
  • FOWLER, Martin. Refactoring :improving the design of existing code. Boston: Addison-Wesley, 2000, xxi, 431 s. ISBN 0-201-48567-2. info
  • FENTON, Norman E. a Shari Lawrence PFLEEGER. Software metrics :a rigorous and practical approach. 2nd ed. Boston: PWS Publishing, 1997, xii, 638 s. ISBN 0-534-95425-1. info
  • PEZZE, M a M YOUNG. Software Testing And Analysis: Process, Principles And Techniques. Hoboken, N.J.: John Wiley & Sons Inc,, 2007, 488 s. ISBN 978-0-471-45593-6. info
Výukové metody
Lectures, using: presentations, examples, practical self-work solution to exercises;
Seminar (computer lab) sessions involving practical work on the topics of the lectures (in the case of the company-led seminar groups, selected topics may be elaborated more deeply than others to increase the knowledge transfer from the involved experts);
Team projects within the seminars.
Metody hodnocení
Students will be assigned medium-size practical assignments (spanning across multiple weeks) within the seminars. The goal of the assignments will be to let the students improve the quality of the provided code by applying the techniques discussed during the course in terms of software measurement for quality improvement, refactoring and testing approaches.
To pass the course, the students must reach at least 40 points out of 70 (50 for seminar assignments, 10 seminar bonus points, 10 lecture bonus points).
Vyučovací jazyk
Angličtina
Další komentáře
Studijní materiály
Předmět je vyučován jednorázově.
Nachází se v prerekvizitách jiných předmětů
Předmět je zařazen také v obdobích jaro 2016, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024.