Coconote
AI notes
AI voice & video notes
Export note
Try for free
Understanding Requirements Engineering Basics
Sep 25, 2024
Requirements Engineering Overview
Introduction
Presented by: Bigoted Penson Starla
Topic: Overview of the semester's course on Requirements Engineering.
Definition of Requirements Engineering
Requirements Engineering
consists of two parts:
Requirements
: What people want or need from a software system.
Engineering
: The systematic approach to fulfilling these requirements using good practices, guidelines, and frameworks.
Importance of Requirements Engineering
Critical early part of software engineering that impacts the entire software lifecycle:
Eliciting requirements from stakeholders
Software design
Implementation and coding
Testing and integration
Deployment and maintenance
Poor requirements engineering can lead to increased effort and complications later in the project.
Key Concepts in Requirements
Requirements
can include:
Wishes and needs of stakeholders (even if they are not aware of them)
Essential needs that stakeholders might not recognize
Constraints imposed by the technical environment or other systems.
Engineering Practices
Engineering emphasizes systematic processes:
Following best practices and guidelines
Applying principles developed from years of experience.
Learning Goals for the Course
Develop skills to elicit, define, document, and communicate requirements.
Understand different forms of requirements:
Natural Language Requirements
Modeled Requirements (graphs, formulas, pseudocode)
Learn the concept of
Artifact-Based Requirements Engineering
:
Artifacts include documentation, code, diagrams, etc.
Types of Requirements
Non-Functional vs. Quality Requirements
:
Non-functional: Anything not related to specific features.
Quality: Subcategory of non-functional, focusing on performance, reliability, etc.
Importance of Communication
The Requirements Engineer serves as a communication bridge between:
Stakeholders (non-technical)
Software developers, designers, testers (technical)
Essential to translate requirements and proposals between both groups.
Summary
The course will cover:
How to elicit, document, and communicate requirements effectively.
Understanding the role of requirements engineers in software development.
📄
Full transcript