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
Number of ECTS credits
Mode of study
Guarantor
Department
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
Prerequisites and corequisites
Basic 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. (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
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
Teacher / Lecturer
Syllabus
- Introduction, Software Projects
- Software Modelling Languages - function-/object-oriented design and UML 2, architectural views
- UML
- New Features in UML and Agile Modelling
- Unified Process and its Inception Phase - requirements analysis, FURPS+ and use case modelling
- Elaboration Phase in Unified Process - domain model, system sequence diagram and operation contracts
- Software Architecture - layered architecture, package dependencies and their elimination, model-view separation
- Architectural Patterns - Model-View-Controller (MVC), Presentation-Control-Entity-Mediator-Foundation (PCMEF), Model-View-Presenter (MVP)
- Object-Oriented Design - Responsibility-Driven Design (RDD), GoF design patterns, GRASP
- The Principles of Object-Oriented Design - SOLID principles, object visibility and scope
- Software Development - Test-Driven Development (TDD), code refactorisation
- Anti-pattern and Best Practices in Software Development
- Practices, Examples and Demonstrations of Software Design and Development
Project
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