The document discusses software requirement engineering. It outlines the objective of requirement engineering as understanding issues, processes, elicitation and specification techniques. It describes requirement engineering as identifying user needs and bridging them to software capabilities. The key tasks are inception, elicitation, elaboration, negotiation, specification, validation and management. Requirements errors are most costly if found late, so requirement engineering aims to establish a solid foundation early in development.
In systems engineering and software engineering, requirements analysis encompasses those tasks that go into determining the needs or conditions to meet for a new or altered product or project, taking account of the possibly conflicting requirements of the various stakeholders, analyzing, documenting, validating and managing software or system requirements.
This lecture provide a review of requirement engineering process. The slides have been prepared after reading Ian Summerville and Roger Pressman work. This lecture is helpful to understand user, and user requirements.
https://www.learntek.org/blog/sdlc-phases/
https://www.learntek.org/
Learntek is global online training provider on Big Data Analytics, Hadoop, Machine Learning, Deep Learning, IOT, AI, Cloud Technology, DEVOPS, Digital Marketing and other IT and Management courses.
https://www.learntek.org/blog/sdlc-phases/
https://www.learntek.org/
Learntek is global online training provider on Big Data Analytics, Hadoop, Machine Learning, Deep Learning, IOT, AI, Cloud Technology, DEVOPS, Digital Marketing and other IT and Management courses.
Software Development Life Cycle Models | What are Software Process Models ?
Here you are going to know What is Software Development Life Cycle Model or What are Software Process Models?
Software Process Models defines a distinct set of activities, actions, tasks, milestones, and work products that are required to engineer high-quality software...
For more knowledge watch full video...
Video URL:
https://youtu.be/3Lxnn0O3xaM
YouTube Channel URL:
https://www.youtube.com/channel/UCKVvceV1RGXLz0GeesbQnVg
Google+ Page URL:
https://plus.google.com/113458574960966683976/videos?_ga=1.91477722.157526647.1466331425
My Website Link:
http://appsdisaster.blogspot.com/
If you are interested in learning more about topics like this so Please don't forget to like, share, & Subscribe to this channel.
Thanks
Software Process Models | Software Development Process Models | SDLC | Traditional Software Process Models | Waterfall Model Incremental Model | Prototyping Model | Evolutionary Process Model
In systems engineering and software engineering, requirements analysis encompasses those tasks that go into determining the needs or conditions to meet for a new or altered product or project, taking account of the possibly conflicting requirements of the various stakeholders, analyzing, documenting, validating and managing software or system requirements.
This lecture provide a review of requirement engineering process. The slides have been prepared after reading Ian Summerville and Roger Pressman work. This lecture is helpful to understand user, and user requirements.
https://www.learntek.org/blog/sdlc-phases/
https://www.learntek.org/
Learntek is global online training provider on Big Data Analytics, Hadoop, Machine Learning, Deep Learning, IOT, AI, Cloud Technology, DEVOPS, Digital Marketing and other IT and Management courses.
https://www.learntek.org/blog/sdlc-phases/
https://www.learntek.org/
Learntek is global online training provider on Big Data Analytics, Hadoop, Machine Learning, Deep Learning, IOT, AI, Cloud Technology, DEVOPS, Digital Marketing and other IT and Management courses.
Software Development Life Cycle Models | What are Software Process Models ?
Here you are going to know What is Software Development Life Cycle Model or What are Software Process Models?
Software Process Models defines a distinct set of activities, actions, tasks, milestones, and work products that are required to engineer high-quality software...
For more knowledge watch full video...
Video URL:
https://youtu.be/3Lxnn0O3xaM
YouTube Channel URL:
https://www.youtube.com/channel/UCKVvceV1RGXLz0GeesbQnVg
Google+ Page URL:
https://plus.google.com/113458574960966683976/videos?_ga=1.91477722.157526647.1466331425
My Website Link:
http://appsdisaster.blogspot.com/
If you are interested in learning more about topics like this so Please don't forget to like, share, & Subscribe to this channel.
Thanks
Software Process Models | Software Development Process Models | SDLC | Traditional Software Process Models | Waterfall Model Incremental Model | Prototyping Model | Evolutionary Process Model
Similar to Lecture 1 - Requirement Engineering.pptx (20)
Can AI do good? at 'offtheCanvas' India HCI preludeAlan Dix
Invited talk at 'offtheCanvas' IndiaHCI prelude, 29th June 2024.
https://www.alandix.com/academic/talks/offtheCanvas-IndiaHCI2024/
The world is being changed fundamentally by AI and we are constantly faced with newspaper headlines about its harmful effects. However, there is also the potential to both ameliorate theses harms and use the new abilities of AI to transform society for the good. Can you make the difference?
Maximize Your Content with Beautiful Assets : Content & Asset for Landing Page pmgdscunsri
Figma is a cloud-based design tool widely used by designers for prototyping, UI/UX design, and real-time collaboration. With features such as precision pen tools, grid system, and reusable components, Figma makes it easy for teams to work together on design projects. Its flexibility and accessibility make Figma a top choice in the digital age.
Between Filth and Fortune- Urban Cattle Foraging Realities by Devi S Nair, An...Mansi Shah
This study examines cattle rearing in urban and rural settings, focusing on milk production and consumption. By exploring a case in Ahmedabad, it highlights the challenges and processes in dairy farming across different environments, emphasising the need for sustainable practices and the essential role of milk in daily consumption.
PDF SubmissionDigital Marketing Institute in NoidaPoojaSaini954651
https://www.safalta.com/online-digital-marketing/advance-digital-marketing-training-in-noidaTop Digital Marketing Institute in Noida: Boost Your Career Fast
[3:29 am, 30/05/2024] +91 83818 43552: Safalta Digital Marketing Institute in Noida also provides advanced classes for individuals seeking to develop their expertise and skills in this field. These classes, led by industry experts with vast experience, focus on specific aspects of digital marketing such as advanced SEO strategies, sophisticated content creation techniques, and data-driven analytics.
EASY TUTORIAL OF HOW TO USE CAPCUT BY: FEBLESS HERNANEFebless Hernane
CapCut is an easy-to-use video editing app perfect for beginners. To start, download and open CapCut on your phone. Tap "New Project" and select the videos or photos you want to edit. You can trim clips by dragging the edges, add text by tapping "Text," and include music by selecting "Audio." Enhance your video with filters and effects from the "Effects" menu. When you're happy with your video, tap the export button to save and share it. CapCut makes video editing simple and fun for everyone!
2. Requirement Engineering
• Objective:
To understand Issues in Requirements Engineering, to understand and
apply Requirements Engineering Process, to understand and use
Requirements Elicitation and Specification, to understand and use
Formal Techniques, to understand modelling and analysis of Non-
Functional Requirements
• Reference Book:
•Hull, Jackson, and Dick, Requirements Engineering, 2004, Springer
•Karl E. Wiegers, Software Requirements, 2nd Edition, 2003, Microsoft Press
•Loucopoulos and Karakostas, System Requirements Engineering, McGraw-
Hill , 1995
•Kotonya and Sommerville, Requirements Engineering: Processes and
Techniques, John Wiley Sons, 1998.
4. Requirement Engineering
• Requirements Engineering (RE) is a set of activities concerned
with identifying and communicating the purpose of a
software-intensive system, and the contexts in which it will be
used.
• Hence, RE acts as the bridge between the real-world needs of
users, customers, and other constituencies affected by a
software system, and the capabilities and opportunities
afforded by software-intensive technologies.
5.
6. Role of Requirement Engineering in
Software Development
• Requirements engineering (RE) is the most important
area of Software engineering and possibly of the
entire software life cycle. Because errors produced at
this stage, if undetected until a later stage of
software development, can be very costly.
• If it can specify the requirement specification correctly,
errors of later stages will be less. Hence software
developments and maintenance cost will be less
moreover customer will get their desire system.
7. Role of Requirement Engineering in Software
Development (Cont…)
• The cost of fixing errors:
– One of the best-known investigations of the economics of software
development was a series of studies conducted in the 1970’s by Barry
Boehm. Boehm investigated the cost to fix errors in the development
of large software systems.
– Most of the projects followed a fairly standard sequence of phases:
requirements analysis, design, coding (programming), development
testing, acceptance testing and operation. Errors made in a particular
phase cost more to fix the longer they are left undetected, so that, for
example, a programming error that is not discovered until acceptance
testing will cost ten times as much to fix than if it is found during
programming. A requirements error not found until after delivery will
cost a hundred times more to fix.
– The explanation is fairly simple –the longer a problem goes unnoticed,
the more subsequent design decisions are based on it, and hence the
more work it will take to unpick them.
8. Role of Requirement Engineering in Software
Development (Cont…)
• Boehm’s data invites a number of conclusions, the main one of
which is that the strict sequence of phases described above (known
as the waterfall model) may not be the best way to manage a large
project – an iterative approach may be more suitable.
• The conclusions concerning the relative cost of fixing errors do not
necessarily depend on the order in which things are done, because
the cost driver is not the length of time that an error goes
undetected, but the number of other decisions that are based on it.
• Errors made in understanding the requirements will always have
the potential for greatest cost to fix, because so many other design
decisions depend on them. Clearly, time invested in understanding
the requirements early in a project can have a significant payoff.
9. The Problems with our
Requirements Practices
• We have trouble understanding the requirements that we do acquire
from the customer
• We often record requirements in a disorganized manner
• We spend far too little time verifying what we do record
• We allow change to control us, rather than establishing mechanisms
to control change
• Most importantly, we fail to establish a solid foundation for the
system or software that the user wants built
9
10. The Problems with our Requirements
Practices (continued)
• Many software developers argue that
– Building software is so compelling that we want to jump right in (before
having a clear understanding of what is needed)
– Things will become clear as we build the software
– Project stakeholders will be able to better understand what they need
only after examining early iterations of the software
– Things change so rapidly that requirements engineering is a waste of time
– The bottom line is producing a working program and that all else is
secondary
• All of these arguments contain some truth, especially for small
projects that take less than one month to complete
• However, as software grows in size and complexity, these arguments
begin to break down and can lead to a failed software project
10
11. A Solution: Requirements
Engineering
• Begins during the communication activity and continues into the modeling
activity
• Builds a bridge from the system requirements into software design and
construction
• Allows the requirements engineer to examine
– the context of the software work to be performed
– the specific needs that design and construction must address
– the priorities that guide the order in which work is to be completed
– the information, function, and behavior that will have a profound impact on the
resultant design
11
12. Requirements Engineering Tasks
• Seven distinct tasks
– Inception
– Elicitation
– Elaboration
– Negotiation
– Specification
– Validation
– Requirements Management
• Some of these tasks may occur in parallel and all are adapted to the
needs of the project
• All strive to define what the customer wants
• All serve to establish a solid foundation for the design and
construction of the software
12
13. Requirements Engineering Tasks (Cont…)
• Inception
– During inception, the requirements engineer asks a set of questions to
establish…
• A basic understanding of the problem
• The people who want a solution
• The nature of the solution that is desired
• The effectiveness of preliminary communication and collaboration
between the customer and the developer
14. Requirements Engineering Tasks (Cont…)
• Elicitation
– Gathering requirements in detail
– Eliciting requirements is difficult because of
• Problems of scope in identifying the boundaries of the system or
specifying too much technical detail rather than overall system
objectives
• Problems of understanding what is wanted, what the problem
domain is, and what the computing environment can handle
(Information that is believed to be "obvious" is often omitted)
• Problems of volatility because the requirements change over time
15. Requirements Engineering Tasks (Cont…)
Elaboration
• During elaboration, the software engineer takes the information obtained
during inception and elicitation and begins to expand and refine it
• Elaboration focuses on developing a refined technical model of software
functions, features, and constraints
• It is an analysis modeling task
– Use cases are developed
– Domain classes are identified along with their attributes and relationships
– State machine diagrams are used to capture the life on an object
• The end result is an analysis model that defines the functional,
informational, and behavioral domains of the problem
16. Requirements Engineering Tasks (Cont…)
• Negotiation
– During negotiation, the software engineer reconciles the conflicts
between what the customer wants and what can be achieved given
limited business resources
– Requirements are ranked (i.e., prioritized) by the customers, users, and
other stakeholders
– Risks associated with each requirement are identified and analyzed
– Rough guesses of development effort are made and used to assess the
impact of each requirement on project cost and delivery time
– Using an iterative approach, requirements are eliminated, combined
and/or modified so that each party achieves some measure of
satisfaction
16
17. Requirements Engineering Tasks (Cont…)
• Specification
– A specification is the final work product produced by the requirements
engineer
– It is normally in the form of a software requirements specification
– It serves as the foundation for subsequent software engineering activities
– It describes the function and performance of a computer-based system
and the constraints that will govern its development
– It formalizes the informational, functional, and behavioral requirements
of the proposed software in both a graphical and textual format
17
18. Requirements Engineering Tasks (Cont…)
• Validation
– During validation, the work products produced as a result of
requirements engineering are assessed for quality
– The specification is examined to ensure that
• all software requirements have been stated unambiguously
• inconsistencies, omissions, and errors have been detected and
corrected
• the work products conform to the standards established for the
process, the project, and the product
– The formal technical review serves as the primary requirements
validation mechanism
• Members include software engineers, customers, users, and
other stakeholders
18
19. Requirements Engineering Tasks (Cont…)
• Requirement Management
– During requirements management, the project team performs a set
of activities to identify, control, and track requirements and changes
to the requirements at any time as the project proceeds
– Each requirement is assigned a unique identifier
– The requirements are then placed into one or more traceability tables
– These tables may be stored in a database that relate features,
sources, dependencies, subsystems, and interfaces to the
requirements
– A requirements traceability table is also placed at the end of the
software requirements specification
19