Course detail

Information Systems Analysis and Design

FIT-AISAcad. year: 2023/2024

Software process, software development lifecycle models. Modelling techniques of the  UML 2. Agile modelling and agile development. Introduction to Unified Process. Inception, requirements capturing and specification. Elaboration, domain model and system operations. Architecture design, architectural patterns and frameworks. Objects responsibilities and classes design, GRASP principles. Design patterns. Agile development methods, test-driven design, refactoring. Activities in next iterations. A project oriented to requirement analysis and software design.

Language of instruction

Czech

Number of ECTS credits

5

Mode of study

Not applicable.

Entry knowledge

  • Basic knowledge of software engineering. 
  • Knowledge of the paradigms of and practical experience with object-oriented programming.

Rules for evaluation and completion of the course

  • Mid-term written exam; there is no resit; excused absences are solved by the guarantor deputy.
  • The implementation and submission of the project results in the prescribed terms; excused absences are solved by the assistant.
  • Final exam with; the minimal number of points which can be obtained from the final exam is 20 (otherwise, no points will be assigned to the student); excused absences are solved by the guarantor deputy.

Aims

  • The goal of the subject is to give students knowledge of object oriented and agile methods and tools used in information system development and to learn them to apply these methods and tools.
  • Students will know selected object oriented and agile methods and techniques in information system development at an advanced level.
  • They will be able to develop suitable models during information system requirements analysis and design, mainly in the UML language.
  • Students will learn how to analyze a design solution of a given problem in a small team. They learn to present and defend both partial and final results of the project.

Study aids

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

Arlow, J., Neustadt, I.: UML a unifikovaný proces vývoje aplikací. Computer Press, 2003, 408 s., ISBN: 80-7226-947-X. (CS)
Larman, C.: Applying UML and Patterns. An Introduction to Oject-Oriented Analysis and Design and Iterative Development. 3rd edition. Prentice Hall PTR, Upper Saddle River, USA, 2004, 703 p., ISBN 0-13-148906-2. (EN)
Maciaszek, L.A., Liong, B.L.: Practical Software Engineering. A Case Study Approach. Addison-Wesley, Harlow England, 2005, 864 p., ISBN 0-321-20465-4.  (EN)
Maciaszek, L.A.: Requirement Analysis and System Design, 2 ed. Addison-Wesley, Harlow England, 2005, 504 p., ISBN 0-321-20464-6. (EN)

Recommended reading

Andrew Stellman, A., Greene, J.: Learning Agile: Understanding Scrum, XP, Lean, and Kanban. 1st edition. O'Reilly Media, 2014, 420 p., ISBN 978-1449331924. (EN)
Arlow, J., Neustadt, I.: UML and the Unified Process: Practical Object-Oriented Analysis and Design. Addison-Wesley Professional, 2002, 416 p., ISBN 0-201-77060-1. (EN)
Craig Larman, C., Vodde, B.: Large-Scale Scrum: More with LeSS. 1 edition. Addison-Wesley Professional, Harlow, England, 2016, 368 p., ISBN 978-0321985712. (EN)
Martin, R.C., et al.: Clean architecture: a craftsman's guide to software structure and design. Prentice Hall, 2018. ISBN 978-0134494166 (EN)

Elearning

Classification of course in study plans

  • Programme IT-MSC-2 Master's

    branch MBS , 0 year of study, winter semester, compulsory-optional
    branch MPV , 0 year of study, winter semester, compulsory-optional
    branch MSK , 2 year of study, winter semester, compulsory-optional
    branch MIS , 2 year of study, winter semester, compulsory
    branch MIN , 0 year of study, winter semester, elective
    branch MGM , 0 year of study, winter semester, elective
    branch MBI , 0 year of study, winter semester, elective
    branch MMM , 0 year of study, winter semester, elective

  • Programme MITAI Master's

    specialization NSPE , 0 year of study, winter semester, elective
    specialization NBIO , 0 year of study, winter semester, elective
    specialization NSEN , 0 year of study, winter semester, compulsory
    specialization NVIZ , 0 year of study, winter semester, elective
    specialization NGRI , 0 year of study, winter semester, elective
    specialization NADE , 0 year of study, winter semester, compulsory
    specialization NISD , 1 year of study, winter semester, compulsory
    specialization NMAT , 0 year of study, winter semester, elective
    specialization NSEC , 0 year of study, winter semester, elective
    specialization NISY up to 2020/21 , 0 year of study, winter semester, elective
    specialization NCPS , 0 year of study, winter semester, elective
    specialization NHPC , 0 year of study, winter semester, elective
    specialization NNET , 0 year of study, winter semester, elective
    specialization NMAL , 0 year of study, winter semester, elective
    specialization NVER , 0 year of study, winter semester, elective
    specialization NIDE , 0 year of study, winter semester, elective
    specialization NEMB , 0 year of study, winter semester, elective
    specialization NISY , 0 year of study, winter semester, elective
    specialization NEMB up to 2021/22 , 0 year of study, winter semester, elective

Type of course unit

 

Lecture

39 hod., optionally

Teacher / Lecturer

Syllabus

  1. Introduction, Software Projects
  2. Software Modelling Languages - function-/object-oriented design and UML 2, architectural views
  3. UML
  4. New Features in UML and Agile Modelling
  5. Unified Process and its Inception Phase - requirements analysis, FURPS+ and use case modelling
  6. Elaboration Phase in Unified Process - domain model, system sequence diagram and operation contracts
  7. Software Architecture - layered architecture, package dependencies and their elimination, model-view separation
  8. Architectural Patterns - Model-View-Controller (MVC), Presentation-Control-Entity-Mediator-Foundation (PCMEF), Model-View-Presenter (MVP)
  9. Object-Oriented Design - Responsibility-Driven Design (RDD), GoF design patterns, GRASP
  10. The Principles of Object-Oriented Design - SOLID principles, object visibility and scope
  11. Software Development - Test-Driven Development (TDD), code refactorisation
  12. Anti-pattern and Best Practices in Software Development
  13. Practices, Examples and Demonstrations of Software Design and Development

Project

13 hod., compulsory

Teacher / Lecturer

Syllabus

  • Informal requirement specification of a given part of an information system being solved as the project.
  • Requirements specification and design of the of the system in UML.

Elearning