Enrolment options

This course teaches how to apply analysis and design methodologies for software development, with a particular focus on object modeling using the Unified Modeling Language (UML).
It is intended for 3rd-year engineering students specializing in computer security.
The course covers essential foundations, including key definitions, core principles, and software quality criteria. It introduces the software development life cycle to structure project phases, using models such as the Waterfall, V-Model, Spiral, and Agile approaches.
Next, it explores information system design methods from both static (data/functions) and dynamic (behavior/interactions) perspectives.
Finally, the course focuses on UML modeling through various views and diagrams—use case, class, sequence, object, activity, and more—ensuring the creation of coherent and comprehensive models.
By the end of this course, you will be able to:
- Define the principles, objectives, and expected qualities of software engineering.
- Describe the different phases and models of the software development life cycle
- Compare various system design methods, both static and dynamic.
- Apply appropriate design methodologies in a system development context.
- Use UML as a standard language for object-modeling.
- Evaluate the effectiveness of different modeling approaches based on project requirements.