- Level Professional
- Duration 20 hours
- Course by The Hong Kong University of Science and Technology
-
Offered by
About
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 project planning and analysis/design phases of SDLC, and you will learn about different architectural patterns and design patterns to solve common problems in software design. It covers project planning, scheduling, and cost estimating, which are the principal tasks of software project managers. Basic object-oriented programming (OOP) concepts are required to understand different design patterns covered in this course. System design is driven by the UML models derived from requirement analysis. It is recommended to take the course "Software Engineering: Modeling Software Systems using UML" before attempting this course, but it is not a hard requirement.Modules
Lecture 1 - System Analysis and Design
1
Assignment
- Quiz 1 - System Analysis and Design
4
Videos
- Lecture 1-1 Introduction to System Design and Analysis
- Lecture 1-2 Architectural Design and Analysis
- Lecture 1-3 Use Case Analysis
- Lecture 1-4 Class Design
3
Readings
- Lecture 1 - System Design and Analysis
- Lecture 1 - System Design Optimization Exercise
- Lecture 1 - System Design Optimization Exercise (Solution)
Lecture 2 - State Machine Diagram
1
Assignment
- Quiz 2 - System Analysis and Design
2
Videos
- Lecture 2-1 State Machine Diagram
- Lecture 2-2 State Machine Diagram Example
3
Readings
- Lecture 2 - System Analysis and Design
- Lecture 2 - State Machine Diagram Exercise
- Lecture 2 - State Machine Diagram Exercise (Solution)
Lecture 3 - Design Patterns
1
Assignment
- Quiz 3 - System Analysis and Design
3
Videos
- Lecture 3-1 Design Pattern
- Lecture 3-2 Strategy Pattern
- Lecture 3-3 Observer Pattern
3
Readings
- Lecture 3 - System Analysis and Design
- Lecture 3 - Design Pattern Exercise
- Lecture 3 - Design Pattern Exercise (Solution)
Lecture 4 - More Design Patterns
1
Assignment
- Quiz 4 - System Analysis and Design
5
Videos
- Lecture 4-1 Mediator Pattern
- Lecture 4-2 Proxy Pattern
- Lecture 4-3 Bridge Pattern and Singleton Pattern
- Lecture 4-4 Factory Pattern
- Lecture 4-5 Anti-Patterns
3
Readings
- Lecture 4 - System Analysis and Design
- Lecture 4 - Design Pattern Exercise
- Lecture 4 - Design Pattern Exercise (Solution)
Lecture 5 - Software Quality Assurance
1
Assignment
- Quiz 5 - Software Quality Assurance
4
Videos
- Lecture 5-1 Achieving Software Quality
- Lecture 5-2 Software Quality Assurance Activities
- Lecture 5-3 Achieving Product Quality
- Lecture 5-4 Achieving Project-Process-People Quality
1
Readings
- Lecture 5 - Software Quality Assurance
Lecture 6 - Managing Software Development
1
Assignment
- Quiz 6 - Managing Software Development
3
Videos
- Lecture 6-1 Project Management
- Lecture 6-2 Software Development Plan
- Lecture 6-3 Project Tracking and Control
1
Readings
- Lecture 6 - Managing Software Development
Auto Summary
Unlock the complexities of software design and project management with this comprehensive course tailored for professionals in IT and Computer Science. Dive deep into the Software Development Life Cycle (SDLC), focusing on critical phases like project planning, analysis, and design. Gain expertise in various architectural and design patterns to tackle common software design challenges effectively. This course emphasizes essential project management skills, including planning, scheduling, and cost estimation, crucial for software project managers. A solid grasp of basic object-oriented programming (OOP) concepts will enhance your understanding of the design patterns discussed. While prior completion of "Software Engineering: Modeling Software Systems using UML" is recommended, it is not mandatory. Delivered by Coursera, this expansive 1200-hour course offers flexible subscription options, including Starter and Professional tiers, to accommodate your learning needs. Elevate your professional skills and navigate the intricate world of software engineering with confidence. Ideal for professionals aiming to refine their software project management and design abilities.

Kenneth W T Leung