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.
Este curso faz parte do Programa de cursos integrados Engenharia de SoftwareEngenharia de Software
oferecido por
Informações sobre o curso
Basic Object-Oriented Programming (OOP) Concepts
Habilidades que você terá
- Project Management
- Software Engineering
- Systems Design
- Project Planning
Basic Object-Oriented Programming (OOP) Concepts
oferecido por

Universidade de Ciência e Tecnologia de Hong Kong
HKUST - A dynamic, international research university, in relentless pursuit of excellence, leading the advance of science and technology, and educating the new generation of front-runners for Asia and the world.
Programa - O que você aprenderá com este curso
System Analysis and Design
Welcome to the first module of this course! In this module, you will learn: (1) The purpose and importance of system analysis and design. (2) The major activities that take place during system analysis
State Machine Diagram
In this module, you will learn: (1) How to use a state machine diagram to describe the behavior inside an object.
Design Patterns
In this module, you will learn: (1) A design pattern is a general reusable solution to a commonly occurring problem in software design. (2) Strategy Pattern. (3) Observer Pattern.
More Design Patterns
In this module, you will learn: (1) Mediator Pattern. (2) Proxy Pattern. (3) Bridge Pattern. (4) Singleton Pattern. (5) Factory Pattern. (6) When to use design patterns. (7) Anti Patterns.
Software Quality Assurance
In this module, you will learn: (1) The quality assurance process and the central process activities of quality assurance, quality planning and quality control. (2) The quality assurance process and the central process activities of quality assurance, quality planning and quality control. (3) The principles of software development process improvement and why process improvement is worthwhile.
Managing Software Development
In this module, you will learn: (1) The principal tasks of software project managers. (2) The need of project planning in all software projects. (3) Requirements for staffing and scheduling in software projects. (4) Techniques for estimating the size and cost of software development. (5) Project tracking and control.
Sobre Programa de cursos integrados Engenharia de SoftwareEngenharia de Software
Software development is not just about coding, it also involves the application of scientific knowledge and well-defined engineering techniques to produce maintainable, scalable, cost-effective and on-schedule software products. This specialization covers software engineering methodologies, techniques, and tools for planning, capturing requirements, designing, implementing, testing, and maintaining large-scale software systems. It combines scientific and technological knowledge with many hands-on examples and real-life case studies for students to apply software engineering skills in a realistic development environment. This specialization is intented for programmers who want to deepen their understanding of the methodologies and techniques involved in software development. Basic object-oriented programming (OOP) concepts are required to attempt the series of courses. It is recommended to take the courses in the order they are listed, as they progressively develop teachniques and concepts about software engineering, it is not a hard requirement.

Perguntas Frequentes – FAQ
Quando terei acesso às palestras e às tarefas?
O que recebo ao me inscrever nesta Especialização?
Existe algum auxílio financeiro disponível?
Mais dúvidas? Visite o Central de Ajuda ao estudante.