Professional Documents
Culture Documents
Ravindra Babasaheb Nagare SEN Chapter No. 2
Ravindra Babasaheb Nagare SEN Chapter No. 2
Chapter 2
Software engineering practices And Software requirements Engineering
07. Principle 7: Components should be loosely coupled to one another and to the
external environment.
08. Principle 8: designed modules should be easy to understand.
09. Principle 9: Accept that design behaviour is Iterative.
23. Deployment-
01. The deployment activity encompasses 3 actions: delivery, support and feedback.
02. Modern software process models are evolutionary in nature, deployment happens not
once, but a number of times as software moves towards completion.
03. Each delivery cycle provides the customer and end users with an operational software
increment that provides usable functions and features.
04. Each support cycle provides documentation & human assistance for all functions and
features introduced during all deployment cycles to date.
05. Each feedback cycle provides the software team with important guidance that results in
modifications to the functions, features and approach taken for the next increment.
Principle #1: Customer expectations for the software must be managed.
Principle #2: A complete delivery package should be assembled and tested.
Principle #3: A support regime must be established before the software is delivered.
Principle #4: Appropriate instructional materials must be provided to end users.
Principle #5: Buggy software should be fixed first, delivered later.
2.Elicitation
3.Elaboration
4.Negotiation
5.Specification
6.Validation
7.Management Incept
01. Inception:
▪ Inception-Starting point, beginning.
▪ At project inception, software engineers ask a set of context free question.
▪ The intent is to establish a basic understanding of the problem
▪ The people who want a solution,
▪ The nature of the solution that is desired and effectiveness of preliminary
communication and collaboration between the customers and the
developer.
02. Elicitation:
▪ Collecting intelligence information
▪ Ask the customer, the user and others
▪ what is objectives for the system?
▪ What is to be accomplished?
▪ How the system fits into the needs of the business?
▪ How the system or product is to be used on a day to day basis?
▪ Christel and Kang identified a number of problems that help us understand
why requirements elicitation is difficult
▪ 1. Problem of scope.
▪ 2. Problem of understanding
▪ 3. Problem of volatility
03. Elaboration:
▪ It means to work out in detail.
▪ The information obtained from the customer during inception and
elicitation is expanded and refined in elaboration.
▪ S/w engineering- focuses on developing a refined technical model of
software functions, features and constraints.
▪ It describes how the end user will interact with the system.
▪ The end result is an analysis model that defines the informational,
functional, behavioral domain of the problem.
04. Negotiation:
▪ The requirements engineer must reconcile conflicts through process of
negotiation.
▪ Customers, users & stakeholders are asked to rank requirements and
discuss conflicts in priority.
▪ Risks associated with each requirements are identified and analyzed.
▪ Rough “guesstimates” 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.
05. Specification: “Standard template” should be developed and used for a
specification, arguing that this leads to requirements that are presented in a
consistent and therefore more understandable manner. The specification is a final
work product produced by the requirements engineer. It serves as the foundation
for subsequent software engineering activities.
06. Validation: The work products produced as a consequence of requirements
engineering are assessed for quality during a validation step. Requirements
validation examines the specification to ensure that all software requirements have
been stated unambiguously. The review team that validates requirements includes
software engineers, customers, users and other stakeholders.
07. Requirements: Management Requirements management is a set of activities that
help the project team identify, control and track requirements and changes to
requirements at any time as the project proceeds. Requirement management begins
with identification. Each requirement is assigned a unique identifier. Once
requirements have been identified, traceability table are developed. Each
traceability relates requirements to one or more aspects of the system.
02. SRS format There is no single precise template for writing good Software
Requirement Specifications. The contents of an SRS document depends on the
software product being developed and also on the expertise of the people doing
the requirement elicitation. 1.Project scope section 2.Functional requirements
3.Requirement analysis models 4.External interface requirements 5.Non
functional requirements
03. The importance of SRS documents Establish the basis for agreement: SRS helps
in establishing agreement between the customers and the suppliers on what the
software product is to do. The complete description of the functions to be
performed to determine if the software specified meets their needs or how the
software must be modified to meet their needs. Reduce the development effort.
Provide a basis for estimating costs and schedules. The description of the
product to be developed as given in the SRS is a realistic basis for estimating
project costs and can be used to obtain approval for bids or price estimates.
Provide a baseline for validation and verification. Organizations can develop
their validation and Verification plans much more productively from a good SRS.
Facilitate transfer. The SRS makes it easier to transfer the software product to
new users or new machines. Customers thus find it easier to transfer the
software to other parts of their organization, and suppliers find it easier to
transfer it to new customers. Serve as a basis for enhancement. Because theSRS
discusses the product but not the project that developed it, the SRS serves as a
basis for later enhancement of the finished product.