Start now Software Engineer. Master the techniques and skills to plan, design, implement, test, and maintain software systems.
Suggested by: Coursera (What is Coursera?)
No prior knowledge required
No unnecessary risks
Software development is not just about coding; it also involves using scientific knowledge and well-defined engineering techniques to produce maintainable, scalable, cost-effective, and time-efficient software products. This certification covers software engineering methodologies, techniques, and tools in planning, defining requirements, designing, implementing, testing, and maintaining large-scale software systems. It combines scientific and technological knowledge with many practical examples and real-life case studies so that students can apply software engineering skills in a real-world development environment.
Learners will apply various software engineering techniques in planning, defining requirements, designing, implementing, testing, and maintaining large-scale software systems through numerous practical examples and real-life case studies in a realistic development environment.
The Software Development Life Cycle (SDLC) is the process of developing software through planning, requirements analysis, design, implementation, testing, and maintenance. This course focuses on the requirements analysis phase of the SDLC, and you will learn how to use UML models to capture system requirements and improve communication between customers/users and developers. UML is a general 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 documented 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 documented in the usage model to describe the interactions between the system and its environment (users, other systems).
UML incorporates current best practices in object-oriented modeling techniques. Basic concepts of object-oriented programming (OOP) are required to attempt the course. It is recommended that the courses be taken in the order listed, as they progressively develop software engineering techniques and concepts, but this is not a mandatory requirement.
The Software Development Life Cycle (SDLC) is the software development process that is built around planning, requirements analysis, design, implementation, testing, and maintenance. This course focuses on the implementation and testing phase of the SDLC, and you will examine different software development processes for developing large software systems, and understand the advantages (pros) and disadvantages (cons) of different software development processes. You will also learn defensive programming techniques to prevent software bugs during implementation, and learn how to thoroughly test your system using different types of test cases.
Basic concepts of object-oriented programming (OOP) are required for topics covered in Object-Oriented Software Testing and Security Programming. The implementation is modeled according to UML models generated from the requirements analysis. It is recommended to take the course “Software Engineering: Modeling Software Systems Using UML” before attempting this course, but it is not a mandatory requirement.
The Software Development Life Cycle (SDLC) is the process of developing software based on planning, requirements analysis, design, implementation, testing, and maintenance. This course focuses on the project planning and analysis/design phases of the SDLC, and you will learn about various architectural and design patterns for solving common software design problems. It covers project planning, scheduling, and cost estimation, which are the primary tasks of software project managers.
Basic concepts of object-oriented programming (OOP) are required to understand the various design patterns covered in this course. The system design is based on UML models generated from the requirements analysis. It is recommended to take the course “Software Engineering: Modeling Software Systems Using UML” before attempting this course, but it is not a mandatory requirement.



