Software Engineering

Review of SE | Fall 2024 - Fresno Pacific University

Software Engineering | Overview

Software engineering is the application of engineering principles to the development of software. It involves a systematic approach to designing, developing, testing, and maintaining software systems, ensuring that they are reliable, efficient, scalable, and meet user requirements. 

The term "software engineering" refers to the systematic application of engineering principles to the development, maintenance, and evaluation of software systems. It involves designing, coding, testing, and managing software applications. Software engineering blends elements of traditional engineering disciplines with the complexities of computer science, covering areas such as requirements analysis, system design, testing, and software evolution.

Software engineering as a field is guided by frameworks such as the IEEE/ACM's Software Engineering Body of Knowledge (SWEBOK), which outlines core knowledge areas, including software construction, design, quality assurance, and management practices. These areas ensure the reliability, efficiency, and sustainability of software products in diverse environments​(Wikipedia)​(IEEE Entity Web Hosting).

* assisted by ChatGPT

SDLC (Software Development Life Cycle) | Overview

File: SDLC - Software Development Life Cycle.jpg
From Wikimedia Commons, the free media repository

Introduction To Software Development LifeCycle | What Is Software Development? | Simplilearn

Predictive SDLC and Adaptive SDLC

Predictive SDLC

Adaptive SDLC

Key Comparison:

Predictive SDLC is an approach that presumes that project planning outlined in advance, products was produced according to the plan.  ⇒ Water Fall


Adaptive SDLC focuses on achieving the desired end goal by quickly adapting the dynamic business requirements.  ⇒ Agile

Requirement Analysis Documentation (Asana)

READ: A 6-step guide to requirements gathering for project success
https://asana.com/resources/requirements-gathering


DO: How to write a software requirement document
https://asana.com/resources/software-requirement-document-template
You will be required to include your SRS in your Project portfolio with this template: https://asana.com/resources/download-software-requirement-template 

Proof-of-Concept | Prototype | MVP

A PoC (Proof-of-Concept) and a Prototype are used at the pre-product stage and require minimal-to-medium investment.  With MVP (Minimum Viable Product) development, you enter a product stage with core functionalities and features to see how the market receives your idea. 


READhttps://www.techmagic.co/blog/poc-vs-prototype-vs-mvp/