Software Engineering
The Hong Kong University of Science and Technology via Coursera Specialization
-
14
-
- Write review
Overview
Class Central Tips
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.
Syllabus
Course 1: Software Engineering: Modeling Software Systems using UML
- Offered by The Hong Kong University of Science and Technology. Software Development Life Cycle (SDLC) is the process of developing software ... Enroll for free.
Course 2: Software Engineering: Implementation and Testing
- Offered by The Hong Kong University of Science and Technology. Software Development Life Cycle (SDLC) is the process of developing software ... Enroll for free.
Course 3: Software Engineering: Software Design and Project Management
- Offered by The Hong Kong University of Science and Technology. Software Development Life Cycle (SDLC) is the process of developing software ... Enroll for free.
- Offered by The Hong Kong University of Science and Technology. Software Development Life Cycle (SDLC) is the process of developing software ... Enroll for free.
Course 2: Software Engineering: Implementation and Testing
- Offered by The Hong Kong University of Science and Technology. Software Development Life Cycle (SDLC) is the process of developing software ... Enroll for free.
Course 3: Software Engineering: Software Design and Project Management
- Offered by The Hong Kong University of Science and Technology. Software Development Life Cycle (SDLC) is the process of developing software ... Enroll for free.
Courses
-
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.
-
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 implementation and testing phases of SDLC, and you will examine different software development processes for large software systems development, and understand the strengths (pros) and weaknesses (cons) of different software development processes. You will also encounter defensive programming techniques to prevent software bugs during implementation, and learn how to test your system thoroughly using different types of test cases. Basic object-oriented programming (OOP) concepts are required for topics covered in defensive programming and object-oriented testing. Implementation 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.
-
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.
Taught by
Kenneth W T Leung