EUt+ Mobility
Go back

Course Page ✏️


Software engineering - UTCN
CS33.00

Description
 | Introduction and overview of the course
 | Software development paradigms: basic (‘waterfall’, prototyping, reusable components, formal methods) and evolutionary paradigms (incremental development, spiral model, concurrent engineering)
 | Modern software processes: the unified software development process, agile methods and extreme programming
 | Basic software engineering activities (specification, development, validation, evolution): concepts and principles
 | Developing requirements: domain analysis, techniques for gathering requirements, capturing requirements as use cases
 | Formal specification: formal modeling and analysis, introduction to probabilistic model checking
 | Tools in support of formal methods: PRISM probabilistic model checker, software performance modeling and analysis.
 | Modeling with classes: UML class and object diagrams, semantics of UML class diagrams, the process of developing class diagrams, implementing class diagrams in Java
 | Using Design Patterns (Abstraction-Occurrence, Composite, Observer, Delegation, Adapter, Façade, Proxy, etc)
 | Modeling software behavior: UML interaction diagrams (sequence and communication diagrams), UML state diagrams
 | Architecting and designing software: design principles (increase cohesion, reduce coupling), architectural patterns (Multi-Layer, Pipe-and-Filter, etc.)
 | Testing and inspecting to ensure high quality: testing techniques (equivalence partitioning, path testing), integration testing strategies (top-down, bottom-up, scenario-based), inspections
 | Use case driven development: use case specifications, analysis, design and implementation to realize the use cases, testing the use cases
 | Program specification and verification: well-founded induction, pre-and post-conditions, declarative prototyping

ECTS credits
5

Teaching Language
English

Exam Language
English

Support Materials Language
English

Basic Learning Outcomes

Managing Entity (faculty)
Automation and Computer Science Faculty - UTCN