Software engineering is a discipline that allows us to apply engineering and computer science concepts in the development and maintenance of reliable, usable, and dependable software.
The purpose of this course is to present software engineering as a body of knowledge. The course is designed to present software engineering concepts and principles in parallel with the software development life cycle. The course will begin with an introduction to software engineering, giving you a definition of this body of knowledge, as well as a discussion of the main methodologies of software engineering. You will then learn about the Software Development Life Cycle (SDLC) followed by software modeling using Unified Modeling Language (UML), a standardized general-purpose modeling language used to create visual models of object-oriented software. You will go on to learn about five major phases of the SDLC: requirements gathering, requirements analysis, design, coding/implementation, and testing. You will also learn about project management for the purpose of delivering high-quality software that satisfies customer needs and is within budget.
Upon successful completion of this course, you will be able to:
1 : Demonstrate mastery of software engineering knowledge and skills, and professional issues necessary to practice software engineering.
2 : Discuss principles of software engineering.
3 : Describe software development life cycle models.
4 : Apply principles of software modeling through UML as a modeling language.
5 : Identify major activities and key deliverables in a software development life cycle during software requirements and analysis, software design, and software testing.
6 : Apply the object-oriented methodology in software engineering to create UML artifacts for software analysis and requirements, software design, and software testing.
7 : Apply project management concepts in a software engineering environment to manage projects, people, and products.
8 : Participate as an individual to deliver quality software systems.
Introduction to Software Engineering and UML: