UPI Study › Courses › Software Engineering › Free lessons › Lesson 1.2 Free with a free account
The Software Engineering Process: From Requirements Through Deployment
Software Engineering · Chapter 1: Foundations of Software Engineering and Process ModelsSection 1.2 · lesson 2 of 1039 min · free with a free account
Free preview
Create a free account to keep watching
It takes a minute and costs nothing. Your free account unlocks all of Chapter 1 and 3 more lessons of Software Engineering.
Lesson complete
Earn the 3 college credits for Software Engineering
Enrolling adds a quiz after each lesson, the graded work and the official transcript. Recommended for credit by NCCRS.
Next lesson: Approaches to Software Development: Plan-Driven, Agile, and Hybrid Paradigms →← What Is Computer Software? Core Definitions and Everyday UsesNext lesson: Approaches to Software Development: Plan-Driven, Agile, and Hybrid Paradigms →
In this lesson
From requirements through deployment: the generic framework and its umbrella activities.
- Define software engineering, and how it differs from writing code
- Name and explain the 5 framework activities
- Identify the 3 umbrella activities, and what each protects against
- Explain why a defined process gives more predictable outcomes
Transcript
Everything said in the video, section by section (1,126 words). Read along, or search it.
Foundations of Software Engineering and Process Models
The Software Engineering Process
Writing code and engineering software are not the same thing. This section defines software engineering, and sets out the sequence of activities that almost every software effort passes through. Then it introduces the activities that run alongside that sequence, from beginning to end, and explains why a defined process matters.
A Thought Experiment
Skilled Team, No Process
Start with a thought experiment. Imagine a team of programmers, every one of them genuinely skilled, handed a rough idea and told to build it. No one writes down what the client actually needs. No one estimates how long any part will take. No one checks, as the pieces come together, that they still fit the original goal. Six months later, the team delivers something. It runs. It is also not what anyone asked for. It arrived late. And it quietly loses data whenever two features run at the same time. Nothing about the team's coding ability was the problem. What was missing was a process. An agreed sequence of activities that turns a stated need into a verified, working result.
Defining the Field
What Is Software Engineering?
Software engineering is the application of a disciplined, systematic, and measurable approach to developing, operating, and maintaining software. Four elements of that definition mark real differences from simply writing code. Discipline. Work follows an agreed sequence of steps, so the next person on the project can predict what happens next. Measurement. Progress, effort, and defect counts are tracked against numbers, not impressions. The full lifecycle. Responsibility does not end when the program runs. It extends through requirements, design, delivery, and years of maintenance. And accountability. The software has to satisfy the people who asked for it, and are paying for it, not merely run correctly on its own.
Table 1
Programming vs. Software Engineering
Here are programming and software engineering side by side. Programming produces a working set of instructions for a defined task. Software engineering produces, verifies, documents, and sustains a system over its whole life. Programming asks whether the code runs and gives the right output. Software engineering asks whether the result meets the stakeholder's need, on time, and can be maintained. Programming focuses on the immediate task. Software engineering spans requirements through deployment, and the maintenance that follows. Programming succeeds with correct output. Software engineering succeeds when requirements are met, defects are controlled, and schedule and budget are held. And programming produces source code. Software engineering produces requirements records, design models, code, test results, and documentation.
Figures 2 and 3
The Generic Process Framework
Teams choose from many specific approaches to organizing their work. Underneath nearly all of them sits the same backbone, called the generic process framework. It has five framework activities. Communication, planning, modeling, construction, and deployment. The dashed return path shows that delivered work generates feedback, which reopens communication for the next piece of work. And beneath all five run the umbrella activities. They are not a sixth phase. They operate across the whole process, at once.
Table 2
What Each Framework Activity Answers
Each framework activity answers a central question. Communication asks what problem we are actually solving, and for whom. It produces stated objectives, stakeholder notes, and a requirements record. Planning asks what has to happen, in what order, and with what resources. It produces a task list, a schedule, a resource plan, and an initial risk list. Modeling asks what the solution looks like before it is built. It produces analysis and design models, and interface sketches. Catching a misunderstanding in a model is far cheaper than catching it in finished code. Construction asks whether the built system does what the model said. It produces source code, and test results. And deployment asks whether the delivered result satisfies the stakeholder. It produces a release, and the feedback that restarts the cycle.
Table 3
3 Umbrella Activities
Umbrella activities are different in kind. They do not belong to one phase and finish. They run continuously underneath all five, from the first stakeholder conversation to the delivered release. Three matter most. Project tracking and control compares actual progress against the plan, and triggers correction when the two diverge. Without it, schedule slips are discovered only once a deadline has already been missed. Risk management identifies what could go wrong before it happens, and prepares a response in advance. Without it, the team improvises under pressure, once a risk has already become a crisis. Quality assurance checks that a work product meets its requirements, before the next activity builds on top of it. Without it, defects pass forward undetected, and surface much later, at far higher cost.
Why It Matters (Figure 4)
The Later the Catch, the Higher the Cost
The strongest argument for a defined process concerns timing. The cost of fixing a problem rises sharply, the later it is found. A requirement misread during communication costs a short conversation to fix. The same misreading, undetected until modeling, costs a redrawn design. Undetected until construction, it costs rewritten code, and retesting. Undetected until after deployment, it costs a patch, a reinstall for every customer, and often the customer's confidence. Nothing about the underlying error changed. What changed was how much had already been built on top of it. That is why communication and modeling deserve as much attention as construction. They are the cheapest point to catch an error.
Table 4
What Goes Wrong Without a Process
Here is what typically goes wrong without a defined process. Rework. Work is completed against a requirement nobody confirmed, so time and budget are spent twice. Scope drift. Features accumulate that no stakeholder requested, consuming budget away from the original goal. Integration failure. Pieces built separately do not fit together, forcing late redesign near the deadline. And undetected defects. The customer finds the problems instead of the team, bringing emergency patches, and lost confidence. None of these is caused by weak technical skill. What failed was the link between activities. And the costs build up quietly, which is exactly why a missing process gets tolerated for so long.
Key Terms
The Vocabulary of This Section
Let's lock in the key terms. Software engineering is a disciplined, systematic, and measurable approach to developing, operating, and maintaining software. The generic process framework is the common sequence of communication, planning, modeling, construction, and deployment. An umbrella activity runs continuously across the whole process, rather than belonging to one phase. A stakeholder is anyone with an interest in the software, including customers, users, and sponsors. And a work product is any tangible output of an activity, such as a requirements record, a design model, or a test report.
Key Takeaways
What to Carry Forward
To pull this together. Software engineering is a disciplined, measurable approach across the full lifecycle of software, not just writing code that runs. Dividing software work creates a coordination problem, and a defined process closes that gap. The generic process framework has five activities. Communication, planning, modeling, construction, and deployment. Umbrella activities, tracking and control, risk management, and quality assurance, run continuously beneath all five. And the cost of fixing a problem rises sharply the later it is found, which is why the early activities deserve as much care as construction.
About Software Engineering at UPI Study
Software Engineering (Computer Science 301) is a self-paced online course of 103 video lessons in 15 chapters, from process models and agile to requirements, design, user interfaces, reliability, security and project management. It carries a NCCRS credit recommendation for 3 semester credits.
Every lesson transcript is free on pages like this one, and the videos are free with a free UPI Study account. Enrolling adds a practice quiz after each lesson, the graded work and final exam that earn the credit, lifetime access, and an official transcript on completion. UPI Study has helped over 130,000 students with college credits. ACE and NCCRS have over 2,100 cooperating colleges that will consider accepting credits; the final decision is with the universities.
Enroll now → Course details Download the syllabus All Computer Science courses Every course with PRO →
Why take it here
Why students take Software Engineering with UPI Study
Where the credit goes
Universities that work with NCCRS
Software Engineering carries a NCCRS credit recommendation. These universities work with NCCRS; some are UPI Study's signed partners. ACE and NCCRS have over 2,100 cooperating colleges that will consider accepting credits; the final decision is with the universities.
Thomas Edison State UniversitySigned partner
University of the PeopleSigned partner
Charter Oak State CollegeSigned partner
Strayer UniversitySigned partner
Columbia Southern UniversitySigned partner
Indiana TechSigned partner
Penn StateWorks with NCCRS
Southern New Hampshire UniversityWorks with NCCRS
SUNYWorks with NCCRS
+many more cooperating universitiesFind my college →Find my college → Not listed? Ask Athena in the corner of this page, or book a 15-minute call.
FAQ
Questions students ask us
About The Software Engineering Process: From Requirements Through Deployment
What is software engineering and how is it different from programming?
What are the five framework activities of the generic software process?
What are umbrella activities in software engineering?
Why does it cost more to fix a software error the later it is found?
About the Software Engineering course
How many college credits is Software Engineering?
How much does Software Engineering cost and what is included?
Which universities accept UPI Study credits?
How long does Software Engineering take?
How are the exams done?
How do my credits reach my college?
Ready for the full course? Earn 3 credits in Software Engineering.
103 video lessons, a quiz after each one, and the graded work that earns the credit. Recommended for credit by NCCRS.
3 credits · NCCRSEnroll →