Course: Fundamentals of Software Engineering

« Back
Course title Fundamentals of Software Engineering
Course code KIV/ZSWI
Organizational form of instruction Lecture + Tutorial
Level of course Bachelor
Year of study 2
Semester Summer
Number of ECTS credits 6
Language of instruction Czech
Status of course Compulsory, Compulsory-optional
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
Lecturer(s)
  • Mouček Roman, Doc. Ing. Ph.D.
Course content
1. Subject organization and graduation conditions. Overview of team projects. Introduction to software engineering. 2. Company, institution. Pyramid of vitality, usability, efficiency, stability, and dynamics. Leading of individuals and groups, competition and cooperation. 3. Definition of software product. Collection and specification of requirements on software, communication with costumer. Document Software requirements specification. 4. Phases of software product development, software process models, their comparison and usage. Project vs. process. Introduction to IT project management. 5. Introduction to configuration management, project management tools, version control systems. Notations for system modeling, UML. 6. Structured and objected oriented analysis. 7. Structured and object oriented design. 8. Architecture, architectonical styles. Design quality (modularity, cohesion, coupling), composition vs. inheritance. Analysis and design document. 9. Design patterns - GoF and J2EE. 10. Team work, team roles, human resources, principles of leadership and management, theory of motivation, evaluation of people, stress, conflicts solution. 11. Prevention, detection and corrections of bugs, introduction to testing, sorts of tests. 12. Operation and maintenance of information systems. 13. Law and ICT. Purchase and sale of information systems.

Learning activities and teaching methods
Interactive lecture, Project-based instruction, Students' portfolio, Group discussion, Skills demonstration, Task-based study method
  • Contact hours - 60 hours per semester
  • Team project (50/number of students) - 70 hours per semester
  • Preparation for an examination (30-60) - 30 hours per semester
prerequisite
Knowledge
orientovat se v základních principech strukturovaného programování
orientovat se v základních principech objektově orientovaného programování
popsat základní datové struktury a algoritmy
orientovat se v dokumentaci programového kódu
popsat strukturu a význam vytvářeného programového celku
Skills
vytvářet jednoduché počítačové programy ve strukturovaném či objektově orientovaném jazyce
používat vhodné datové struktury a algoritmy
posuzovat základní kvalitativní parametry vytvářeného počítačového programu
dokumentovat vytvářený programový kód
pracovat v integrovaném vývojovém prostředí
Competences
N/A
N/A
N/A
N/A
N/A
learning outcomes
Knowledge
identifikovat a porozumět požadavkům zákazníka na softwarový produkt
popsat modely životního cyklu vývoje softwarového produktu
orientovat se v základních principech analýzy a návrhu softwarové produktu
porozumět fázím životního cyklu softwarového produktu spojených s jeho implementací, testováním, nasazením, provozem a údržbou
orientovat se v zásadách používání prostředků konfiguračního managementu
popsat metody a techniky vhodné pro řízení softwarového projektu a pro týmovou práci při vývoji software
porozumět základním právním náležitostem, které souvisejí s vývojem softwaru
Skills
sbírat, třídit a popisovat požadavky zákazníka na softwarový produkt
používat vhodný model životního cyklu vývoje softwarového produktu
provádět analýzu a návrh sw produktu s využitím vhodných modelovací prostředků
implementovat, otestovat, zdokumentovat a nasadit výsledný softwarový produkt dle použité metodiky
používat prostředky pro správu požadavků, chyb a programového kódu
týmově vytvářet softwarový produkt
Competences
N/A
N/A
N/A
N/A
teaching methods
Knowledge
Interactive lecture
Practicum
Task-based study method
Skills demonstration
Project-based instruction
Group discussion
Students' portfolio
assessment methods
Combined exam
Project
Skills demonstration during practicum
Continuous assessment
Group presentation at a seminar
Recommended literature
  • Arlow, Jim; Neustadt, Ila. UML 2 a unifikovaný proces vývoje aplikací : objektově orientovaná analýza a návrh prakticky. 2., aktualiz. a dopl. vyd. Brno : Computer Press, 2007. ISBN 978-80-251-1503-9.
  • Gamma, Erich. Návrh programů pomocí vzorů : stavební kameny objektově orientovaných programů. 1. vyd. Praha : Grada Publishing, 2003. ISBN 80-247-0302-5.
  • Paleta, Petr. Co programátory ve škole neučí, aneb, Softwarové inženýrství v reálné praxi. Vyd. 1. Brno : Computer Press, 2003. ISBN 80-251-0073-1.
  • Pecinovský, Rudolf. Návrhové vzory : [33 vzorových postupů pro objektové programování]. Vyd. 1. Brno : Computer Press, 2007. ISBN 978-80-251-1582-4.
  • Plamínek, Jiří. Vedení lidí, týmů a firem : praktický atlas managementu. 4., přeprac. vyd. Praha : Grada, 2011. ISBN 978-80-247-3664-8.
  • Schvalbe, Ktahy. Information Technology Project Management. 5 edition. Course Technology, 2007. ISBN 978-14-239-0145-7.
  • Schwalbe, Kathy. Řízení projektů v IT : kompletní průvodce. Vyd. 1. Brno : Computer Press, 2011. ISBN 978-80-251-2882-4.
  • Wiegers, Karl Eugene. Požadavky na software. Vyd. 1. Brno : Computer Press, 2008. ISBN 978-80-251-1877-1.
  • Wiegers, Karl Eugene. Software requirements 2. 2nd edition. Microsoft Press, 2003. ISBN 978-07-356-1879-4.


Study plans that include the course
Faculty Study plan (Version) Category of Branch/Specialization Recommended year of study Recommended semester
Faculty: Faculty of Education Study plan (Version): Information Technologies in Education (16) Category: Informatics courses 2 Recommended year of study:2, Recommended semester: Summer
Faculty: Faculty of Education Study plan (Version): Information Technologies in Education (15) Category: Informatics courses 2 Recommended year of study:2, Recommended semester: Summer