PV260 Software Quality

Fakulta informatiky
jaro 2017
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. Michal Abaffy (cvičící)
Mgr. Radim Göth (cvičící)
RNDr. Stanislav Chren, Ph.D. (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 10:00–11:50 A318, Út 10:00–11:50 A318
  • Rozvrh seminárních/paralelních skupin:
PV260/01: každý lichý čtvrtek 12:00–15:50 B311, M. Abaffy, S. Chren
PV260/02: každý sudý čtvrtek 12:00–15:50 B311, M. Abaffy, S. Chren
PV260/03: Út 16:00–17:50 C416, 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 70 stud.
Momentální stav registrace a zápisu: zapsáno: 0/70, pouze zareg.: 0/70, pouze zareg. s předností (mateřské obory): 0/70
Mateřské obory/plány
předmět má 21 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.
  • Lect 2. Software measurement and metrics, and their role in 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. Requirements and test cases. From unit testing to integration testing.
  • Lect 8. Best practices in software testing and testability. Popular testing strategies.
  • Lect 9. Performance engineering and performance testing.
  • Lect 10. Challenges of quality management in cloud applications.
  • Lect 11. Continuous integration and issue tracking.
  • Lect 12. Software quality management process.
  • Lect 13. Quality and testing in agile.
Literatura
  • ROBERT.C., Martin. Clean Code: A Handbook of Agile Software Craftsmanship. New York: Prentice Hall. ISBN 978-0-13-235088-4. 2008. info
  • FOWLER, Martin. Refactoring :improving the design of existing code. Boston: Addison-Wesley. xxi, 431 s. ISBN 0-201-48567-2. 2000. info
  • FENTON, Norman E. a Shari Lawrence PFLEEGER. Software metrics :a rigorous and practical approach. 2nd ed. Boston: PWS Publishing. xii, 638 s. ISBN 0-534-95425-1. 1997. info
  • PEZZE, M a M YOUNG. Software Testing And Analysis: Process, Principles And Techniques. Hoboken, N.J.: John Wiley & Sons Inc,. 488 s. ISBN 978-0-471-45593-6. 2007. 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.
Additionally, there will be a written test at the end, testing the knowledge gained by the students during the semester.
To pass the course, the students must reach at least 70 points out of 100 (45 for seminar assignments, 35 for the final written test, 10 bonus points for activity in seminars, 10 bonus points for activity in lectures).
Vyučovací jazyk
Angličtina
Další komentáře
Studijní materiály
Předmět je vyučován každoročně.
Nachází se v prerekvizitách jiných předmětů
Předmět je zařazen také v obdobích jaro 2015, jaro 2016, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024.