Information Systems Analysis and Design
AIS Acad. year 2022/2023 Winter semester 5 credits
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
- 39 hrs lectures
- 13 hrs projects
- 51 pts final exam (written part)
- 15 pts mid-term test (written part)
- 34 pts projects
Course Web Pages
Subject specific learning outcomes and competences
- 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.
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.
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.
- 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
- 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
- Introduction, Software Projects
- Software Modelling Languages - function-/object-oriented design and UML 2, architectural views
- 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
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.
- Mid-term exam, for which there is only one schedule and, thus, there is no possibility to have another trial.
- Project should be solved and delivered in given dates during a term.
- 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.
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
- Programme IT-MGR-2, field MBI, MGM, MIN, MMM, any year of study, Elective
- Programme IT-MGR-2, field MBS, any year of study, Compulsory-Elective group S
- Programme IT-MGR-2, field MIS, 2nd year of study, Compulsory
- Programme IT-MGR-2, field MPV, any year of study, Compulsory-Elective group D
- Programme IT-MGR-2, field MSK, 2nd year of study, Compulsory-Elective group M
- Programme MITAI, field NADE, NSEN, any year of study, Compulsory
- Programme MITAI, field NBIO, NCPS, NEMB, NEMB up to 2021/22, NGRI, NHPC, NIDE, NISY, NISY up to 2020/21, NMAL, NMAT, NNET, NSEC, NSPE, NVER, NVIZ, any year of study, Elective
- Programme MITAI, field NISD, 1st year of study, Compulsory