Software Engineering: Modeling Software Systems using UML
About this Course
Software Development Life Cycle (SDLC) is the process of developing software through planning, requirement analysis, design, implementation, testing, and maintenance. This course focuses on the requirement analysis phase of SDLC, and you will learn how to use UML models to capture the system requirements and to facilitate communication between client/users and developers. UML is a general purpose visual modeling language for systems. It can be used to highlight different aspects of the system that are of interest to different stakeholders. Data requirements are captured in the domain model, which describes the important concepts of the application domain as classes, associations between them and constraints on them. Functional requirements are captured in the use-case model to describe the interactions between the system and its environment (users, other systems). UML incorporates the current best practices in Object-Oriented modeling techniques. Basic object-oriented programming (OOP) concepts are required to attempt the course. It is recommended to take the courses in the order they are listed, as they progressively develop techniques and concepts about software engineering, but it is not a hard requirement.Created by: The Hong Kong University of Science and Technology

Related Online Courses
Elevate your frontend interview skills with this course, led by renowned instructor Dylan Israel. This program covers key technical topics including undefined vs null, CSS selectors, promises, data... more
In this specialization, you will explore how many public health outcomes are directly influenced by human contact with the environment. The four courses in this series will introduce you to the... more
Acquire the expertise needed to construct robust, scalable, and secure applications using .NET technology through this comprehensive specialization. It consists of three courses:\\n\\nC# for .NET... more
Generative AI is revolutionizing industries, automating creativity, optimizing processes, and driving growth. Studies show AI now assists over 60% of daily tasks, improving efficiency and outcomes... more
This Specialization is designed for post-graduate students aiming to master AI applications in cybersecurity. Through three comprehensive courses, you will explore advanced techniques for detecting... more