Cse2014 Se Module - 2 New
Cse2014 Se Module - 2 New
(CSE 2014)
Presidency School of Computer Science and
Engineering
Assessment Schedule
Course Outcome Duration In
S. No Assessment type Contents Marks Weightage DATE
Number Hours
10.09.24 -
1 Surprise Test - 1 Module 1 CO1 30 Mins 10 5%
14.09.24
22.10.24 -
2 Assignment - 1 Module 2 CO2 1 week 10 5%
26.10.24
15.10.24 -
3 Mid Term Module 1 & 2 CO1 & CO2 90 Mins 50 25%
21.10.24
11.11.24 -
4 Surprise Test - 2 Module 3 CO3 30 Mins 10 5%
15.11.24
09.12.24 -
5 Assignment - 2 Module 4 CO4 1 week 10 5%
14.12.24
16.12.24 -
6 Presentation Module 3 & 4 CO3 & CO4 30 Mins 10 5%
20.12.24
CO1, CO2, 05.01.25 -
7 End Term Module – 1 to 4 180 Mins 100 50%
CO3,CO4 15.01.25
Module - 2
Software Requirements, Analysis and Design
Requirements Engineering:
1. Eliciting requirements
2. Functional and non- Functional requirements
3. Software Requirements Specification (SRS)
4. Requirement Analysis and validation.
Requirements Engineering
• Requirement is a capability or condition required from the system.
• An agenda is Suggested
• Formal enough – to cover all important points
• Informal Enough – To encourage the free flow of ideas.
Eliciting Requirements
Collaborative Requirements Gathering:
Different approaches:
• A facilitator (customer, developer or outsider) controls the meeting.
• The priority or extent to which these factors are implemented varies from
one project to other.
• Ex: The pages of this web portal must load within 0.5 seconds.
FUNCTIONAL REQUIREMENTS NON FUNCTIONAL REQUIREMENTS
A non-functional requirement defines the quality attribute of a
1. A functional requirement defines a system or its component.
software system.
7. Helps you verify the functionality of the software. Helps you to verify the performance of the software.
8. Functional Testing like System, Integration, End to End, API Non-Functional Testing like Performance, Stress, Usability,
testing, etc are done. Security testing, etc are done.
• i.e., what the software will do without describing how it will do so..
• It provides basis for later stages of software development, viz., design, coding,
testing, standard compliances, delivery, and maintenance.
• It acts as the reference document for the validation and verification of the
work products and final software.
Need for SRS:
2. General description
3. Functional Requirements
4. Interface Requirements
6. Design Constraints
7. Non-Functional Attributes
9. Appendices
• Includes
• Product Perspective
• User Classes and Characteristics
• Operating Environment
• Design and Implementation Constraints
• Assumptions and Dependencies
• It also explains required time, required memory, maximum error rate, etc.
• Includes overall time duration required and overall cost required for
development of project
..\..\..\..\..\Users\jose2\Downloads\ReqView-Example_Software_Requirements
_Specification_SRS_Document (1).pdf
(sample SRS document)
• Goals:
• Fully understand the user requirements.
• Remove inconsistencies, anomalies, etc. from requirements.
• Document requirements properly in an SRS document.
Requirements Analysis
Consists of two distinct activities:
• Requirements Gathering and Analysis
• Specification
• Who involved in RAS?
• System Analyst
• Collects data pertaining to the product.
• Analyzes collected data:
• To understand what exactly needs to be done.
• Writes the Software Requirements Specification (SRS)
document.
Requirements Analysis
• Have all requirements been specified at the proper level of abstraction? That is,
do some requirements provide a level of technical detail that is inappropriate at
this stage?
• Actor
Actors are basically users of the SUD who are external entities (people or other
systems) who interact with the SUD to achieve a desired goal. Actors are represented as
stick figures.
• Types of Actors:
• Primary Actor
The Actor(s) using the system to achieve a goal.
• Secondary Actor
Actors that the system needs assistance from to achieve the primary actors goal.
• The goal represents a meaningful and measurable objective for the actor.
• Records a set of paths (scenarios) that traverse an actor from a trigger event
(start of the use case) to the goal (success scenarios).
• Are multi-level: one use case can use/extend the functionality of another.
• Extends Relationship
• "X extends Y" indicates that "X" is a task of the same type as "Y", but "X" is
a special, more specific case of doing "Y".
• That is, doing X is a lot like doing Y, but X has a few extra processes to it that
go above and beyond the things that must be done in order to complete Y.
Association
Use Case 1 <<include>> Use Case 3
relationship
Generalization
Actor
Use Case 2 <<extend>> Use Case 4
Add Reservation
Cancel Reservation
Ticket Clerk
Check-in Passenger <<include>> Weigh Luggage
<<include>>
<<extend>>
How to Draw:
• Activity diagrams are not exactly flowcharts as they have some additional
capabilities.
Connector
• It helps designers, developers, testers, managers and others to see the project
milestones during development.
• CASE can also help as a warehouse for documents related to projects, like
business plans, requirements and design specifications.
Dept. of CSE, SOE, Presidency University
81
CASE support in Software Life Cycle
• Major advantage of CASE is: The delivery of the final product, which is more
likely to meet real-world requirements as it ensures that customers remain
part of the process.
• CASE illustrates a wide set of labor-saving tools that are used in software
development.
• The essential idea of CASE tools is that in-built programs can help to analyze
developing systems in order to enhance quality and provide better outcomes.
• CASE tool became part of the software lexicon, and big companies like IBM
were using these kinds of tools to help create software.
• Represents system elements, control flow and data flow among different
software components and system structure in a pictorial form.
• For example, Flow Chart Maker tool for making state-of-the-art flowcharts
For example,
(i) Accept 360, Accompa, CaseComplete for requirement analysis.
(ii) Visible Analyst for total analysis.
• Chances to meet real-world requirements are more likely and easier with a
computer-aided software engineering approach.
• A tools control mechanism for coordinating the use of the CASE tools.
• A user interface for establishing a consistent pathway between the tools and user
actions.
• The components of the interface are a library which contains display objects
and software that facilitates management of interface between human and
computer.
• The tool access mechanism, use of mouse and keyboard, menu names, object
names, icons and screen layout are described in the presentation tool.
• The tool access mechanism, use of mouse and keyboard, menu names, object
names, icons and screen layout are described in the presentation tool.
Tools Layer
• The behavior of the tools within the environment is controlled by the Tools
Management Services (TMS).
• This is done by gathering metrics on the usage of the tools, coordinating the
information flow between the repository and management system to the tools.
• Each case tool has been plugged into the object management layer.
• The OML and the CASE repository works in unison to provide integration
services.
• The design model provides detail about software data structures, architecture, interfaces,
and components that are necessary to implement the system.
A design should lead to data structures that are appropriate for the classes to
be implemented and are drawn from recognizable data patterns.
• It also shows the logic or thinking behind how you will design software.
• It is faster.
• Classes should describe the elements of problem domain and that should
focus the customer requirement.
• It should create a new set of design classes that must support the business
solutions.
• The architecture highlights early design decisions that will have a profound
impact on all software engineering work that follows.
• The components access a shared data structure and are relatively independent, in
that, they interact only through the data store.
• In this approach, the data enters into the system and then flows through the
modules one at a time until they are assigned to some final destination
(output or a data store).
• They decompose the main program into a number of program components which,
in turn, may invoke other program components.
• If interfaces are not well defined they may lead to tight data coupling.
Dept. of CSE, SOE, Presidency University
132
Architectural Design
Object oriented architectures:
• The components of a system encapsulate data and the operations that must be
applied to manipulate the data.
• The next layer is the application layer that includes the components
concerned with the application functionality and utility components that are
used by other application components.
• Of course, the number of layers is arbitrary. Any of the layers in Figure could
be split into two or more layers.
• What type of task the user has to perform to achieve the goal?
• Further, the designer must investigate the content that has to present as a part
of the interface.
• The designer must also analyze the environment where the user will interact
with the system via an interface.
• This process is also iterative and the construction continues till the prototype
is approved for conducting real-world scenarios.
• Like, as to whether the interface can perform all general user tasks?