SylabUZ
Nazwa przedmiotu | Foundations of software modelling |
Kod przedmiotu | 11.3-WE-INFP-FounofSM-Er |
Wydział | Wydział Informatyki, Elektrotechniki i Automatyki |
Kierunek | Informatyka |
Profil | ogólnoakademicki |
Rodzaj studiów | Program Erasmus |
Semestr rozpoczęcia | semestr zimowy 2017/2018 |
Semestr | 5 |
Liczba punktów ECTS do zdobycia | 6 |
Typ przedmiotu | obieralny |
Język nauczania | angielski |
Sylabus opracował |
|
Forma zajęć | Liczba godzin w semestrze (stacjonarne) | Liczba godzin w tygodniu (stacjonarne) | Liczba godzin w semestrze (niestacjonarne) | Liczba godzin w tygodniu (niestacjonarne) | Forma zaliczenia |
Wykład | 30 | 2 | - | - | Egzamin |
Laboratorium | 30 | 2 | - | - | Zaliczenie na ocenę |
Projekt | 15 | 1 | - | - | Zaliczenie na ocenę |
- obtaining basic knowledge about software modelling
- familiarizing students with practical applications of software modelling for simple software systems
- familiarizing students with proper way of practical implementation of solution to simple problems using software design patterns
Object-oriented programming, Software Engineering
Introductory issues. Background and history of modern modelling techniques. Unified process of application life cycle. System analysis and design. Object paradigm. Object modelling and its role in design of information systems. Class-Responsibility-Collaboration (CRC) diagrams. Software production processes.
Introduction to Unified Modelling Language (UML) notation and diagrams.Genesis and purpose of UML. Structural modelling. Basic notions and elements of object architecture: classes, objects, abstractions, encapsulation, inheritance, polymorphism, communication, relations and associations between objects. Static structural diagrams: class and object diagrams.Association modelling: aggregation, composition, generalization, specialization, dependencies and realization. Packages and subsystems. Types, interfaces and implementation classes. Implementation diagrams: component and deployment diagrams. Requirements and their specification. Use case diagrams.
Use case analysis: inclusion, extension, grouping and generalization. Behavioural modelling. Sequence and collaboration diagrams. Roles, messages and stimuli.
Interactions and collaborations. Analysis of system states. State and activity diagrams. Flow transfer. Decisions. Concurrency. Signals and communication
Design patterns. Formulation of programming problems. Overview of most popular construction, structural and behavioural design patterns. Creational and testing patterns.
Practical issues. Work with use cases. General overview on design, deployment and testing. Presentation of dedicated UML design tools.
lecture: brainstorm, discussion, practical tasks, conventional lecture
laboratory: brainstorm, working with source files, discussion, working in groups, practical tasks, conventional lecture
project: brainstorm, working with source files, discussion, working in groups, practical tasks, conventional lecture
Opis efektu | Symbole efektów | Metody weryfikacji | Forma zajęć |
Lecture - a credit is given for obtaining a passing grade for all exams administered at least once per semester
Laboratory - to receive a final passing grade student has to receive passing grades for all tasks required by the curriculum.
Project - to receive a final passing grade student has to receive passing grades for all tasks and projects required by the curriculum..
Calculation of the final grade = lecture: 40% + laboratory: 20% + project: 40%
Martin R.C.: Clean Code: A Handbook of Agile Software Craftsmanship, Prentice Hall, 2008
Beck K.: Test Driven Development: By Example, Addison-Wesley Professional, 2002
Freeman E., Freeman E., Bates B., Sierra K.:Head First Design Patterns!, O'Reilly Media, 2004
UML @ Classroom, Seidl, M., Scholz, M, Springer International Publishing, 2015
Larman C.: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition), Prentice Hall, 2004
Martin R.C., Martin M.: Agile Principles, Patterns, and Practices in C#, Prentice Hall, 2006
Way J.: Laravel Testing Decoded, Leanpub 2013
Zmodyfikowane przez dr inż. Łukasz Hładowski (ostatnia modyfikacja: 05-04-2018 07:41)