Course details

Information Systems Analysis and Design

AIS Acad. year 2023/2024 Winter semester 5 credits

Current academic year

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.

Guarantor

Course coordinator

Language of instruction

Czech

Completion

Credit+Examination (written)

Time span

  • 39 hrs lectures
  • 13 hrs projects

Assessment points

  • 51 pts final exam (written part)
  • 15 pts mid-term test (written part)
  • 34 pts projects

Department

Lecturer

Instructor

Course Web Pages

Learning objectives

  • 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.

Why is the course taught

Requirement analysis of new or updated software and its subsequent design are important prerequisites for efficient software deployment and successful deployment, operation, and maintenance, whether it is the development of information systems, mobile applications, or embedded software for dedicated devices. Proper object design, knowledge of UML or agile approaches, advanced technologies for implementation or development (code management, CI/CD, etc.) are useful for every developer, designer, analyst, or system architect.

Prerequisite knowledge and skills

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

Study literature

  • 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.
  • Craig Larman, C., Vodde, B.: Large-Scale Scrum: More with LeSS. 1 edition. Addison-Wesley Professional, Harlow, England, 2016, 368 p., ISBN 978-0321985712.
  • Andrew Stellman, A., Greene, J.: Learning Agile: Understanding Scrum, XP, Lean, and Kanban. 1st edition. O'Reilly Media, 2014, 420 p., ISBN 978-1449331924.
  • Martin, R.C., et al.: Clean architecture: a craftsman's guide to software structure and design. Prentice Hall, 2018. ISBN 978-0134494166

Fundamental literature

  • 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.
  • 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. 
  • Maciaszek, L.A.: Requirement Analysis and System Design, 2 ed. Addison-Wesley, Harlow England, 2005, 504 p., ISBN 0-321-20464-6.

Syllabus of lectures

  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

Syllabus - others, projects and individual work of students

  • 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.

Progress assessment

  • 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.

Exam prerequisites

Duty credit consists of submitting and defending project results, and of obtaining at least 24 points for activities during semester.

Course inclusion in study plans

Back to top