Foundations of Modeling Software Requirements, Explained

UPI Study › Courses › Software Engineering › Free lessons › Lesson 6.1 Free with a free account

Foundations of Modeling Software Requirements

Software Engineering · Chapter 6: Requirements Engineering and PrototypingSection 6.1 · lesson 38 of 1037 min · free with a free account

← Running Projects with ScrumNext lesson: Prototyping Software: Building to Learn →

Earn 3 college credits for Software EngineeringRecommended for credit by NCCRS · Computer Science 301 · self-paced · one payment, lifetime access

In this lesson

Why requirements get modeled, and how functional and non-functional ones differ.

  • Explain the purpose of requirements modeling
  • Distinguish functional from non-functional requirements
  • Explain why the 2 types are modeled differently
  • Place modeling within requirements engineering

Transcript

Everything said in the video, section by section (838 words). Read along, or search it.

Requirements Engineering and Prototyping

Foundations of Modeling Software Requirements

Analysis produces requirements. But a requirement written only as a sentence of plain English carries a hidden cost. This section covers why requirements get modeled, the difference between functional and non-functional requirements, and where modeling fits in the wider work of requirements engineering.

The Hidden Cost

Easy to Write, Easy to Misread

Natural language is easy to write, and easy to misread. Two people can read the same sentence, and walk away with two different pictures of what was asked for. And that gap often stays invisible until construction is already underway, when it is expensive to fix. Requirements modeling is the practice that closes the gap. It takes raw, natural-language understanding and gives it a structured, visual, checkable form, before anyone trusts it as a foundation for design.

What a Model Is

Deliberately Incomplete

In this context, a model is a simplified, structured representation of a requirement, or a set of them. A diagram, a notation, or another organized form. A model is deliberately incomplete. It leaves out details that do not matter for its question, so the ones that do matter are easier to see. Why bother? Because prose is a poor tool for catching certain problems. A missing case, a hidden contradiction between two requirements, or a boundary condition nobody mentioned can all sit quietly on a page. A model forces every path, state, or relationship to be shown explicitly, so those gaps tend to stand out.

2 Kinds of Requirement

What It Does, and How Well

Requirements come in two broad kinds. A functional requirement describes a specific action the system must perform. For example, let a user submit an order. A non-functional requirement describes a quality or constraint on how well the system performs. For example, process an order within two seconds. It is not a separate action. It is a bar that whatever the system does must clear. So functional requirements answer, what does the system do? Non-functional requirements answer, how well, and under what conditions?

Modeled Differently

Behaviors vs. Constraints

That difference shapes how each kind gets modeled. A functional requirement is, at its core, a describable sequence of behavior. So it fits naturally into behavior models, showing steps, a flow of data, or states. A non-functional requirement resists that treatment. It is not a step in a sequence. It is a property that applies across many steps at once. So it is usually attached as a constraint on a functional model, or captured in a separate specification of quality attributes.

Figure 6.1A

Where Modeling Sits

Requirements engineering is broader than modeling alone. It includes eliciting requirements from stakeholders, analyzing them, modeling them, specifying them formally, validating them, and managing them as they change. Modeling sits specifically between analysis and specification. It takes raw, natural-language understanding, and turns it into a structured form, precise enough to specify formally and check rigorously.

Modeling's Role

A Checkpoint, Not a Replacement

Modeling is not a replacement for the other activities. A model still has to be validated against what stakeholders actually meant. And it still has to be managed, as requirements change over the life of the project. What modeling contributes is a checkpoint partway through the process. It is the point where understanding becomes concrete enough to examine, question, and correct, before design work builds anything on top of it.

Table 6.1

Side by Side

Here are the two kinds side by side. A functional requirement focuses on a specific action, like letting a user submit an order. It answers, what does the system do? A non-functional requirement focuses on a quality or constraint, like processing that order within two seconds. It answers, how well, or under what conditions? Functional requirements are usually modeled with behavior diagrams, like flows and states. Non-functional requirements are usually constraints attached to those functional models.

Think About It

A Ride-Hailing App

Here is a question to think about. Take a ride-hailing app. One functional requirement is clear. A rider can request a ride to a destination. One non-functional requirement attached to it might be that the driver's location updates every few seconds. Now drop that second requirement, and keep the first. Rides still get requested. But riders wait without knowing where the driver is, they miss pickups, and they stop trusting the app. The function still works, and yet the system fails its users.

Key Terms

The Vocabulary of This Section

Let's lock in the key terms. Requirements modeling is representing requirements in a structured, simplified form, rather than only in natural language. A model is a deliberately incomplete, structured representation, built to make certain details easier to check. A functional requirement describes a specific action the system must perform. A non-functional requirement describes a quality or constraint on how well it performs. And requirements engineering is the broader set of activities, eliciting, analyzing, modeling, specifying, validating, and managing, that modeling is one part of.

Key Takeaways

What to Carry Forward

To pull this together. Requirements modeling turns natural-language requirements into a structured form, so hidden gaps are caught before design begins. Functional requirements are actions the system performs. Non-functional requirements are qualities and constraints on how well it performs them. Functional requirements fit behavior models, while non-functional ones are usually attached as constraints. Modeling sits between analysis and specification, within the broader work of requirements engineering. And it does not replace validation or management. It gives them something concrete to work with.

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.

Compare: Software Engineering vs Systems Analysis

Why take it here

Why students take Software Engineering with UPI Study

How professional software gets builtSoftware Engineering covers how teams turn requirements into working, maintainable software: process models, agile, requirements, design, testing, reliability and project management. It is a core course in computer science and software degrees.
Credit at a fraction of the priceThe same 3 credits can cost $750 or more at a US college. Here it is one payment, self-paced, with lifetime access.
Finish your degree soonerTransfer credits reduce the courses you still owe, so you can graduate earlier or lighten a heavy semester.
Strengthen an applicationA completed college-level course on an official transcript shows admissions and scholarship committees you can do the work.
Study on your own scheduleNo start dates, no deadlines. Watch the lessons, practice, and take the final when you are ready.
130,000+students helped with college creditsACE and NCCRS have over 2,100 cooperating colleges that will consider accepting credits; the final decision is with the universities.

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.

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 Foundations of Modeling Software Requirements

What is requirements modeling in software engineering?
Requirements modeling is representing requirements in a structured, simplified form, such as diagrams or notation, instead of only in natural language. Plain sentences are easy to misread, and missing cases or contradictions can hide in prose. A model forces paths, states, and relationships to be shown explicitly, so gaps stand out before design work builds on them.
What is the difference between functional and non-functional requirements?
A functional requirement describes a specific action the system must perform, such as letting a user submit an order. A non-functional requirement describes a quality or constraint on how well the system performs, such as processing that order within two seconds. Functional requirements answer what the system does, while non-functional requirements answer how well and under what conditions.
How are non-functional requirements modeled?
Non-functional requirements are usually attached as constraints on functional models or captured in a separate specification of quality attributes. Unlike functional requirements, which describe sequences of behavior that fit flow or state diagrams, a non-functional requirement is a property that applies across many steps at once, so it does not fit neatly into a single step of a behavior model.
Where does modeling fit in the requirements engineering process?
Requirements engineering includes eliciting, analyzing, modeling, specifying, validating, and managing requirements, and modeling sits between analysis and specification. It turns raw natural-language understanding into a form precise enough to specify and check. Modeling does not replace the other activities, since a model must still be validated against what stakeholders meant and managed as requirements change.

About the Software Engineering course

How many college credits is Software Engineering?
Software Engineering (Computer Science 301) carries a NCCRS credit recommendation for 3 semester credits. ACE and NCCRS have over 2,100 cooperating colleges that will consider accepting credits; the final decision is with the universities.
How much does Software Engineering cost and what is included?
$250, paid once, with lifetime access: all 103 video lessons, a practice quiz after each, the graded work and final exam, and an official transcript when you finish. Students who want several courses choose UPI Study PRO instead.
Which universities accept UPI Study credits?
UPI Study has signed partner agreements with universities such as Thomas Edison State University, University of the People and Charter Oak State College, and works with universities such as Penn State, SNHU and SUNY. ACE and NCCRS have over 2,100 cooperating colleges that will consider accepting credits; the final decision is with the universities. Use "Find my college" on this page to check yours.
How long does Software Engineering take?
It is self-paced with no deadlines. The 103 lessons total about 11 hours of video; most students add reading and practice time and finish in a few weeks to a few months, on their own schedule.
How are the exams done?
Quizzes and assignments are online in the course. The final exam is taken online with proctoring; a person on the UPI Study team checks assignments, usually within two days.
How do my credits reach my college?
When the course shows 100% complete, request the official transcript from your dashboard. It is sent to the college you name, and you can send it to more than one. Check your college first with "Find my college" on this page, or ask Athena.

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.

Software Engineering
3 credits · NCCRS
Enroll →