Introduction to Software Engineering

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.

Software Development Life Cycle

Software development life cycle (SDLC) refers to the process of software development. The International Organization for Standardization’s ISO12207, the industry standard for software life cycle processes, describes the development process as consisting of requirements, design, code, and (three levels of) testing. There are different approaches to break down the work when developing software systems. Waterfall, v-shape, prototype, incremental, spiral, etc. are examples of SDLC models. Conceptually, each model provides specific guidance to the sequencing and repetition of life cycle activities to deliver high-quality software systems. The various life cycle models fall into two basic categories: sequential and iterative.

Software Modeling

Many believe that good design is fundamental to creating successful software. The first step in software creation is to gather requirements. Notations, such as UML, allow us to articulate complex ideas succinctly and precisely. Designing software requires the use of certain industry standard design tools, and mastery of them is essential to becoming a capable software engineer.

This unit will introduce you to UML, a standardized general-purpose modeling language for creating visual models of object-oriented software. This unit aims to give you a comprehensive understanding of UML, the five fundamental artifacts of UML, and modeling concepts, as well as the modeling concepts’ relationships to the terms system, model, and view.

Skip to toolbar