Le cours UML et de conception orientée objet le plus vendu sur WeCours (mis à jour en septembre 2022). Livre électronique d’accompagnement inclus.
Découvrez les concepts fondamentaux qui sous-tendent les meilleures pratiques de conception de logiciels modernes et orientés objet. Apprenez à travailler avec UML pour aborder le développement logiciel plus efficacement.
Ce cours vous aidera à vous familiariser avec les principes fondamentaux de la conception et de l’analyse orientées objet*. Je vais présenter chaque concept en utilisant des termes simples, en évitant le jargon déroutant. Nous nous concentrerons sur l’application pratique, en utilisant des exemples pratiques que vous pouvez utiliser à titre de référence et de pratique.
(*)De nombreuses universités à travers le monde exigent que leurs étudiants suivent ce cours dans le cadre de leur programme d’analyse et de conception de systèmes.
Tout au long du cours, je vous présenterai plusieurs exemples liés à la conception de logiciels et à UML. De plus, nous plongerons dans une étude de cas pour passer en revue toutes les étapes de la conception d’un véritable système logiciel du début à la fin.
Qu’est-ce qui me qualifie pour vous enseigner ?
J’ai plus de 10 ans d’expertise en développement logiciel. J’ai travaillé pour des entreprises comme ArkeUp et Axian (BNI, MVola, Pulse) En tant qu’architecte logiciel, j’ai conçu et construit plusieurs systèmes et frameworks d’entreprise.
Les sujets incluent :
- Comprendre les méthodologies de développement logiciel
- Choisir la bonne méthodologie : Waterfall ou Agile
- Concepts fondamentaux de l’orientation objet : abstraction, polymorphisme, etc.
- Exigences de collecte
- Mapper les exigences sur les descriptions techniques
- Langage de modélisation unifié (UML)
- Diagrammes de cas d’utilisation, de classe, de séquence, d’activité et d’état
- Concevoir une application de prise de notes à partir de zéro
Vous acquerrez des compétences professionnelles et techniques, ainsi qu’une compréhension des principes et concepts de l’orientation objet. Après avoir terminé ce cours, vous serez en mesure de comprendre le fonctionnement interne des systèmes logiciels orientés objet. Vous communiquerez facilement et efficacement avec d’autres développeurs en utilisant des termes orientés objet et des diagrammes UML.
PLUS QU’UN COURS. AVEC CE COURS, VOUS RECEVEZ AUSSI :
- Instructions d’experts
En tant qu’architecte logiciel professionnel, j’utilise UML depuis plus de deux décennies. - Assistance personnalisée
En tant qu’étudiant de ce cours, vous aurez accès au forum privé du cours, où je réponds aux questions et apporte une assistance si nécessaire. - Le livre électronique compagnon
- Ressources téléchargeables
Vous obtenez des feuilles de triche UML téléchargeables que vous pouvez utiliser comme guides de référence rapide. - Mises à jour continues
Je continue d’améliorer ce cours pour fournir un contenu frais et à jour.
À bientôt pour la première leçon !
Introduction
Here's a brief overview of the main topics we're going to discuss.
Before starting the course, you should be aware of some prerequisites.
Please join our official group to get even more feedback and support!
Traditional and Agile Software Development
Managing complex projects wouldn't be possible without systems and rules. In this section, we'll talk about the traditional and the agile approach used for developing software systems.
Let's take a closer look at the Waterfall model, which is being used successfully in life-control, medical and military systems.
Waterfall may be inflexible in some cases. Luckily, Agile is here to help in such situations. Let's see how.
Has Waterfall become obsolete? Is Agile always the best option? The answer to both questions is "No."
And here's why.
Core Object-Orientation Concepts
Although software engineering is a relatively new field, computer programs are present in nearly every aspect of our lives. This lecture is a brief walkthrough of the history of programming.
While structured programming relies on actions, Object-Oriented programming is organized around objects. So, let's talk about objects.
OOP is all about objects. But, to create an object, we need to have a class first.
Abstraction is one of the fundamental concepts in Object-Oriented programming. This lesson will clarify the "whys" and "hows".
Encapsulation and data hiding are the other pillars of OOP.
Inheritance is a key concept in Object-Oriented Programming. Without inheritance, we’d end up redundant code over and over again.
Polymorphism is the final object-orientation term we discuss. In this lesson, we'll also use a coding example to demonstrate how polymorphism works.
Object-orientation skill tests
Object-Oriented Analysis and Design
How should we start creating an object-oriented system? Is there any recipe for it? In this lecture, I'm going to provide the answer.
The requirements collection or requirements analysis phase paves the road for all the other phases of the object-oriented software design.
Once we gathered the requirements, we can feed them to the next step of the software design process.
Here's why we need a common design language like the Unified Modeling Language.
UML Basics and Fundamental Diagram Types
The Unified Modeling Language is a graphical notation rather than a textual programming language. In this lecture, we'll see how UML helps us in describing the structure and the functionality of a software system.
The use case diagram visualizes the functional requirements of the system. Although it's simple, it's quite powerful. Let's see how it works.
Let's put what you've learned into action by solving a challenge. Your goal is to draw a use case diagram that provides an overview of an elevator system.
In this video, I show you how I would approach this challenge.
In this lecture, we'll delve into class diagrams, the most frequently used UML diagram types.
Your goal for this challenge is to create the class diagram of an elevator maintenance robot.
Check out my solution for the Elevator Maintenance Robot class diagram.
UML allows us control who can access the attributes and the methods of our classes. This lecture is about visibility.
The next logical step after identifying the key classes in our system is figuring out the relationships between them.
First, we'll talk about associations.
In UML, we use generalization to express that one model element is based on another model element.
In this video, we'll talk about the other UML relationships: dependency, aggregation, composition and realization.
UML provides dynamic diagrams to represent how objects communicate with each other. The most common dynamic diagram is the sequence diagram.
The activity diagram is a useful technique to represent behavioral logic.
Statechart diagrams describe the states of an object while identifying the events responsible for the state changes.
Various quizzes to verify your knowledge about the most frequently used UML diagrams.
Case Study: Designing a Note-Taking App from Scratch
I firmly believe that the best way to learn is by doing. In this module, I'll walk you through the process of designing a note-taking application. This exercise will allow you to practice the concepts you've learned so far.
In this lecture, I’m going to illustrate the requirements collection phase through a real example.
Now that we've got the requirements, let's write some user stories.
In this lecture, we’re going to represent our user stories as use case diagrams.
Let’s create the static structure of our system. We’ll identify the main classes and the relationships between them.
We'll describe the note creation scenario in the form of a sequence diagram.
The possible states of a note object expressed through a statechart diagram.
The case study as downloadable PDF.
Ask Karoly - Student Q&A Videos
I’ve got a question in the Q&A section. The student could not create associations in the use case diagram. So, here’s a quick video showing how to do that.
Next Steps + Bonuses!
UML can help us express our ideas clearly. But how much UML do you actually need to know to become a successful software developer?
Closing thoughts.
Useful quick reference guides.
Here's the companion eBook as a special gift to you (129 pages print length, sells for $28.80 on Amazon).
I share some links that will get you discounts on my other courses.