SlideShare a Scribd company logo
SOFTWARE ENGINEERING
(CSE 2014)
Presidency School of Computer Science and
Engineering
Assessment Schedule
S. No Assessment type Contents
Course Outcome
Number
Duration In
Hours
Marks Weightage DATE
1 Surprise Test - 1 Module 1 CO1 30 Mins 10 5%
10.09.24 -
14.09.24
2 Assignment - 1 Module 2 CO2 1 week 10 5%
22.10.24 -
26.10.24
3 Mid Term Module 1 & 2 CO1 & CO2 90 Mins 50 25%
15.10.24 -
21.10.24
4 Surprise Test - 2 Module 3 CO3 30 Mins 10 5%
11.11.24 -
15.11.24
5 Assignment - 2 Module 4 CO4 1 week 10 5%
09.12.24 -
14.12.24
6 Presentation Module 3 & 4 CO3 & CO4 30 Mins 10 5%
16.12.24 -
20.12.24
7 End Term Module – 1 to 4
CO1, CO2,
CO3,CO4
180 Mins 100 50%
05.01.25 -
15.01.25
Module - 2
Software Requirements, Analysis and Design
Requirements Engineering: Eliciting requirements, Functional and non- Functional requirements,
Software Requirements Specification (SRS), Requirement Analysis and validation. Requirements
modelling- Introduction to Use Cases, Activity diagram and Swim Lane diagram. CASE-
Characteristics of CASE Tools, Architecture of a CASE Environment.
Design: Design concepts, Architectural design, Component based design, User interface design.
CO2: Identify the requirements, analysis and appropriate
design models for a given application
L12: Requirement Engineering: Eliciting Requirements
LO: Define Requirement Engineering
CONTENTS
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.
• Requirements engineering is the process of gathering, analyzing,
documenting, validating, and managing requirements.
• The main goal: clearly understand the customer requirements and
systematically organize these requirements in the SRS.
• Software Requirements specification (SRS) document.
Requirements Engineering
It encompasses seven distinct tasks:
• Inception - The project's scope, goals, and requirements are identified and
defined.
• Elicitation - The process of gathering and discovering requirements from
stakeholders, users, and other sources.
• Elaboration - The process of refining, detailing, and expanding on the
initially gathered requirements to create a comprehensive and precise
specification.
• Negotiation - The process of resolving conflicts and reaching agreements
among stakeholders regarding the requirements of a system.
Requirements Engineering
• Specification – It is a detailed, precise description of the system's
requirements, capturing the intended functions, behaviors, and constraints
of the system being developed.
• Validation - The process of ensuring that the documented requirements
accurately reflect the needs and expectations of the stakeholders.
• Management - The processes, practices, and tools used to oversee and
control the activities related to gathering, documenting, analyzing,
prioritizing, and maintaining requirements.
Eliciting Requirements
• Also called Requirements gathering.
• It combines elements of problem solving, elaboration, negotiation and
specification.
• Collaborative team oriented approach
• Stakeholders work together to identify the problem,
• propose elements of the solution,
• negotiate different approaches and
• specify a preliminary set of solution requirements.
Eliciting Requirements
Collaborative Requirements Gathering:
Different approaches:
• Meeting are conducted and Attended by both Software Engineers and other
Stakeholders.
• Rules for preparation and participation are established.
• 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.
• A definition mechanism (worksheets, flipcharts, or wall stickers or an
electronic bulletin board, chat room or virtual forum ) is used.
L13: Functional and Non Functional Requirements
LO: Describe the types of requirements
Types of Requirements
1. Functional Requirements:
• Specify the functions and behaviors the software must perform.
• Examples: User login, data retrieval, transaction processing.
• A functional requirement can express a if/then relationship
• Examples: If an alarm is received from a sensor, the system will report
the alarm and halt until the alarm is acknowledged and cleared.
Types of Requirements
2. Non Functional Requirements:
• The quality constraints that the system must satisfy according to the
project contract.
• The priority or extent to which these factors are implemented varies from
one project to other.
• They are also called non-behavioral requirements.
Types of Requirements
2. Non Functional Requirements:
• A system can meet its functional requirements and fail to meet its
nonfunctional requirements.
• Define the software's characteristics and expected user experience (UX).
• Sub Categories:
• Performance
• Usability
• Scalability
• Security
• Portability
Types of Requirements
2. Non Functional Requirements:
• Ex: The pages of this web portal must load within 0.5 seconds.
FUNCTIONAL REQUIREMENTS NON FUNCTIONAL REQUIREMENTS
1. A functional requirement defines a system or its component.
A non-functional requirement defines the quality attribute of a
software system.
2. It specifies “What should the software system do?”
It places constraints on “How should the software system fulfill
the functional requirements?”
3. Functional requirement is specified by User.
Non-functional requirement is specified by technical peoples e.g.
Architect, Technical leaders and software developers.
4. It is mandatory. It is not mandatory.
5. It is captured in use case. It is captured as a quality attribute.
6. Defined at a component level. Applied to a system as a whole.
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
testing, etc are done.
Non-Functional Testing like Performance, Stress, Usability,
Security testing, etc are done.
9. Usually easy to define. Usually more difficult to define.
L14: Software Requirements Specification (SRS)
LO: Illustrate SRS with examples
SRS-Software Requirement Specification
•Formal document that provides the complete description of the proposed
software.
•i.e., what the software will do without describing how it will do so..
•It is an important document required in software development.
Need for SRS
•Customers and users rely more on and better understand a written formal
document than some technical specification.
•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:
•It is treated as an agreement on the features incorporated in the final system
of project between customer and the supplier.
•A good quality SRS ensures high quality software product.
•A high quality SRS reduces development effort (schedule, cost, and
resources).
Characteristics of good SRS:
•Correctness: A SRS is said to be correct if it covers all the requirements that
are actually expected from the system.
•Unambiguity: A SRS is said to be unambiguous if all the requirements
stated have only 1 interpretation.
•Completeness: A complete SRS should cover every aspect of the system,
leaving no gaps or ambiguities that could lead to misunderstandings,
incomplete implementations, or missed functionalities.
•Consistency: Requirements in SRS are said to be consistent if there are no
conflicts between any set of requirements.
Characteristics of good SRS:
•Stability: Refers to the extent to which the requirements remain consistent
and unchanged throughout the software development lifecycle.
•Verifiability : A SRS is verifiable if there exists a specific technique to
quantifiably measure the extent to which every requirement is met by the
system.
•Modifiability: A SRS should be made as modifiable as possible and should
be capable of easily accepting changes to the system to some extent.
Characteristics of good SRS:
•Testability : A SRS should be written in such a way that it is easy to
generate test cases and test plans from the document.
•Traceability: One should be able to trace a requirement to design
component and then to code segment in the program.
SRS Format:
1. Introduction
•Purpose of this document
•Scope of this document
•Overview
2. General description
3. Functional Requirements
4. Interface Requirements
Dept. of CSE, SOE, Presidency University
26
SRS Format:
5. Performance Requirements
6. Design Constraints
7. Non-Functional Attributes
8. Preliminary Schedule and Budget
9. Appendices
Dept. of CSE, SOE, Presidency University
27
SRS - Introduction
•Purpose of this document:
- Main aim is to describe the purpose and necessity of the document
•Scope of this document:
- To describe the overall working, main objective of document and also a
development cost and time.
•Overview:
- It’s simply summary or overall review of product.
Dept. of CSE, SOE, Presidency University
28
SRS – General Description
•Describe the general functions of product
•Includes
•Product Perspective
•User Classes and Characteristics
•Operating Environment
•Design and Implementation Constraints
•Assumptions and Dependencies
Dept. of CSE, SOE, Presidency University
29
SRS – Functional Requirements
• Describing the possible outcome of software system which includes effects
due to operation of program.
• All functional requirements which may include calculations, data
processing, etc. are placed in a ranked order.
Dept. of CSE, SOE, Presidency University
30
SRS – Interface Requirements
• Describing how software program communicates with each other or users
either in form of any language, code, or message.
• Ex: Memory, Data Streams etc.
Dept. of CSE, SOE, Presidency University
31
SRS – Performance Requirements
• How a software system performs desired functions under specific condition
is explained.
• It also explains required time, required memory, maximum error rate, etc.
Dept. of CSE, SOE, Presidency University
32
SRS – Design Constraints
• Constraints which simply means limitation or restriction are specified and
explained for design team.
• Ex: use of a particular algorithm, hardware and software limitations, etc.
Dept. of CSE, SOE, Presidency University
33
SRS : Non-Functional Attributes
• Attributes that are required by software system for better performance.
• Example: Security, Portability, Reliability, Reusability, Application
compatibility, Data integrity, Scalability capacity, etc.
Dept. of CSE, SOE, Presidency University
34
SRS – Preliminary Schedule and Budget
• Initial version and budget of project plan are explained.
• Includes overall time duration required and overall cost required for
development of project
Dept. of CSE, SOE, Presidency University
35
SRS : Appendices
•Additional information like references from where information is gathered,
definitions of some specific terms, acronyms, abbreviations, etc. are given
and explained.
Dept. of CSE, SOE, Presidency University
36
SRS : Example
..........Usersjose2DownloadsReqView-
Example_Software_Requirements_Specification_SRS_Document (1).pdf
(sample SRS document)
Dept. of CSE, SOE, Presidency University
37
Case Study: Create an SRS document for Hospital
Management System/Online Bookstore System
L15: Requirement Analysis and Validation
LO: Describe the process of requirements validation
Requirements Analysis and Validation
• Many projects fail:
•Because they start implementing the system without determining whether
they are building what the customer really wants.
• It is important to learn:
•Requirements analysis and specification techniques carefully.
Requirements Analysis and Validation
• 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
• Final output of this phase:
Software Requirements Specification (SRS) Document.
• The SRS document is reviewed by the customer.
Reviewed SRS document forms the basis of all future development
activities.
Requirements Analysis
• Analyst gathers requirements through:
• Observation of existing systems,
• Studying existing procedures,
• Discussion with the customer and end-users,
• Analysis of what needs to be done, etc.
Requirements Analysis
Requirements Gathering:
• Also known as Requirements Elicitation.
• If the project is to automate some existing procedures
•Analyst can immediately obtain:
• Input and output formats
• Accurate details of the operational procedures
Requirements Analysis
Requirements Gathering :
• In the absence of a working system,
•Lot of imagination and creativity are required.
• Interacting with the customer to gather relevant data:
•Requires a lot of experience.
• Some desirable attributes of a good system analyst:
•Good interaction skills,
•Imagination and creativity,
•Experience.
Requirements Analysis
Requirements Gathering Activities:
1. the existing documentation
2. Interview
3. Task analysis
4. Scenario analysis
5. Form analysis
Requirements Validation
•The process of checking that requirements defined for development and
define the system that the customer really wants.
•To check issues related to requirements, we perform requirements validation.
• Is each requirement consistent with the overall objective for the
system/product?
• 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?
Dept. of CSE, SOE, Presidency University
48
Requirements Validation
• Is the requirement really necessary or does it represent an add-on feature that
may not be essential to the objective of the system?
• Is each requirement bounded and unambiguous?
• Does each requirement have attribution? That is, is a source (generally, a
specific individual) noted for each requirement?
• Do any requirements conflict with other requirements?
Dept. of CSE, SOE, Presidency University
49
Requirements Validation
• Is each requirement achievable in the technical environment that will house
the system or product?
• Is each requirement testable, once implemented?
• Does the requirements model properly reflect the information, function and
behavior of the system to be built.
Dept. of CSE, SOE, Presidency University
50
Requirements Validation
• Has the requirements model been “partitioned” in a way that exposes
progressively more detailed information about the system.
• Have requirements patterns been used to simplify the requirements model.
Have all patterns been properly validated? Are all patterns consistent with
customer requirements?
Dept. of CSE, SOE, Presidency University
51
L16: Requirements Modelling- Introduction to Use Cases
LO: Illustrate the functional requirements with the help of use
case diagrams
Requirements Modelling
• Uses a combination of diagrams and text to depict requirements in a way
that is easier to understand.
• Through modelling we can examine the system from various perspectives.
Use case Diagram:
• It is a behavior diagram show the dynamic behavior of the objects in a
system, which can be described as a series of changes to the system
over time.
• Describes a system's functional requirements in terms of use cases.
• It is a model of the system's intended functionality (use cases) and its
environment (actors).
Dept. of CSE, SOE, Presidency University
53
Requirements Modelling
• Use Case Diagram
• UML: Unified Modelling Language
• Standard Modelling Language
• consisting of an integrated set of diagrams
• Developed to help system and software developers
• For specifying, visualizing, constructing, and documenting the artifacts of
software systems, as well as for business modeling and other non-software
systems.
• A proper use case diagram depicts a high-level overview of the relationship
between use cases, actors, and systems.
Dept. of CSE, SOE, Presidency University
54
Requirements Modelling
• Use case diagram components
• System :
• 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.
Dept. of CSE, SOE, Presidency University
55
Requirements Modelling
•Use case diagram components
•Use Case
•A use case is a collection of possible sequences of interactions between the
SUD and its Actors, relating to a particular goal.
• The collection of Use Cases should define all system behavior relevant to
the actors to assure them that their goals will be carried out properly.
•A use case is drawn as a horizontal ellipse.
Dept. of CSE, SOE, Presidency University
56
Requirements Modelling
•Use case diagram components
Use Cases:
•Hold Functional Requirements in an easy to read, easy to track text format.
•Represents the goal of an interaction between an actor and the system.
•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).
Dept. of CSE, SOE, Presidency University
57
Requirements Modelling
•Use case diagram components
•Records a set of scenarios that traverse an actor from a trigger event toward a
goal but fall short of the goal (failure scenarios).
•Are multi-level: one use case can use/extend the functionality of another.
•Use Case Names Begin With a Strong Verb
•Use Cases are named using the domain terminologies
Dept. of CSE, SOE, Presidency University
58
Requirements Modelling
•Use case diagram components
Use Cases Do Not…
•Specify user interface design. They specify the intent, not the action detail
•Mock up screens/ Prototype may be included depicting the functionality
•Specify implementation detail (unless it is of particular importance to the
actor to be assured that the goal is properly met)
Dept. of CSE, SOE, Presidency University
59
Requirements Modelling
• Use case diagram components
• Use Case Relationships (Associations)
• Associations between actors and use cases are indicated in use case diagrams by
solid lines.
• An association exists whenever an actor is involved with an interaction described
by a use case.
• There are several types of relationships that may appear on a use case diagram:
• An association between an actor and a use case
• An association between two use cases
• A generalization between two actors
• A generalization between two use cases
Dept. of CSE, SOE, Presidency University
60
Requirements Modelling
•Use case diagram components - association between two use cases
•Includes Relationship
•"X includes Y" indicates that the task "X" has a subtask "Y"; that is, in the
process of completing task "X", task "Y" will be completed at least once.
•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.
Dept. of CSE, SOE, Presidency University
61
Requirements Modelling
•Use case Diagram
Dept. of CSE, SOE, Presidency University
62
Actor
Use Case 1
Use Case 2
Association
relationship
Use Case 3
<<include>>
Use Case 4
<<extend>>
Generalization
Requirements Modelling
•Use case Diagram – Airline Reservation System
Dept. of CSE, SOE, Presidency University
63
Reservation System
Ticket Clerk
Add Reservation
Cancel Reservation
Check-in Passenger Weigh Luggage
<<include>>
Assign Seat
<<include>>
Assign Window Seat
<<extend>>
Assign Aisle Seat
<<extend>>
EG: Different ways association relationship appears in use case diagrams
Requirements Modelling
•Use case Diagram – Online Shopping System
Dept. of CSE, SOE, Presidency University
65
• View Items use case is extended by several optional use cases -
customer may search for items, browse catalog, view items
recommended for him/her, add items to shopping cart or wish list. All
these use cases are extending use cases because they provide some
optional functions allowing customer to find item.
Customer Authentication use
case is included in View
Recommended Items and Add
to Wish List because both
require the customer to be
authenticated. At the same
time, item could be added to
the shopping cart without user
authentication.
• Checkout use case includes several required uses cases. Web
customer should be authenticated. It could be done through user
login page, user authentication cookie ("Remember me") or Single
Sign-On (SSO). Web site authentication service is used in all these
use cases, while SSO also requires participation of external
identity provider.
Checkout use case also
includes Payment use
case which could be done
either by using credit card
and external credit
payment service or with
PayPal
Requirements Modelling
•Use case Diagram – Bank Transaction System
Dept. of CSE, SOE, Presidency University
68
Requirements Modelling
•Use case Diagram – ATM Transaction
Dept. of CSE, SOE, Presidency University
69
L17: Activity Diagram
LO: Illustrate the dynamic behaviour of the system with the
help of activity diagrams
Requirements Modelling
Activity Diagram
•Important Diagram in UML
•To describe the dynamic aspects of the system.
•It is basically a flowchart to represent the flow from one activity to
another activity.
•The activity can be described as an operation of the system.
•The control flow is drawn from one operation to another.
•This flow can be sequential, branched, or concurrent.
•It deals with all type of flow control by using different elements such as
fork, join, etc
Dept. of CSE, SOE, Presidency University
71
Requirements Modelling
Purpose of Activity Diagram
•It captures the dynamic behavior of the system.
•used for visualizing the dynamic nature of a system.
How to Draw:
•Activity diagrams are not exactly flowcharts as they have some additional
capabilities.
•These additional capabilities include branching, parallel flow, swimlane, etc.
Dept. of CSE, SOE, Presidency University
72
Requirements Modelling
Basic Components of an Activity Diagram
• Action: A step in the activity wherein the users or software perform a given task.
• The actions are symbolized with round-edged rectangles.
• Decision node: A conditional branch in the flow that is represented by a diamond.
• It includes a single input and two or more outputs.
• Control flows: Another name for the connectors that show the flow between steps in
the diagram.
• Start node: Symbolizes the beginning of the activity. The start node is represented by
a black circle.
• End node: Represents the final step in the activity. The end node is represented by an
outlined black circle.
Dept. of CSE, SOE, Presidency University
73
Requirements Modelling
Activity Diagrams: Components
Dept. of CSE, SOE, Presidency University
74
Connector
Requirements Modelling
Activity Diagrams:
Dept. of CSE, SOE, Presidency University
75
Draw an Activity Diagram for Withdraw Amount
•Insert the ATM card
•Enter PIN
•Check if PIN is valid
•Enter amount
•Check for sufficient balance
•Withdraw amount
•Update Account balance
•Terminate transaction
Activity Diagram for
Withdraw Amount
Draw an Activity Diagram for Processing Orders
•Sales representative enters details of new order
•If special materials required that are not in stock place order
for special materials with supplier
•Add order to production list
•Inform customer
Activity Diagram
for Processing
Orders
Activity Diagrams-Order Management
System
Activity Diagram - Forks and Joins
• Forks and joins distinguish activity diagrams from
traditional flow charts.
• When a transition enters a fork, execution branches off
in two or more directions simultaneously.
• The threads exiting a fork operate concurrently.
• Threads converge at a join.
• Fork - represented by a horizontal bar, with two
concurrent threads.
• Join - represented by a horizontal bar.
Fork
Join
L18: Swimlane Diagram
LO: Illustrate the dynamic behaviour of the system with the
help of swim lane diagrams
Requirements Modelling
Swimlane Diagrams
•UML has no specific Swimlane diagram.
•It is a special case under Activity diagram.
•Swimlane diagram is also graphical representation of the System.
•Swimlane diagrams are also known as the Rummler-Brache diagram or a
cross-functional diagram.
•Swimlanes are sometimes called functional bands.
•It simply describes who is responsible for the activities being performed in
the activity diagram and how they are responsible.
Dept. of CSE, SOE, Presidency University
83
Requirements Modelling
Symbols used in Swimlane Diagram :
•“Parallel Segment” is the extra symbol in swimlane diagram along with all
symbols of Activity Diagram.
•Responsibilities are represented as “Parallel Segments” that divide the
diagram vertically , like the lanes in a swimming pool hence the name
“swimlane”.
Dept. of CSE, SOE, Presidency University
84
Requirements Modelling
Swimlane Diagrams
Dept. of CSE, SOE, Presidency University
85
Requirements Modelling
Swimlane Diagrams
Dept. of CSE, SOE, Presidency University
86
Requirements Modelling
Swimlane Diagrams
Dept. of CSE, SOE, Presidency University
87
Swimlane diagram – ATM
Management System to
withdraw amount
Showing Responsibilities
of Customer, ATM and
Bank
L19: Case- Characteristics of CASE tools
LO: Describe the characteristics of CASE tools
CASE support in Software Life Cycle
•Computer aided software engineering (CASE) is the implementation of
computer facilitated tools and methods in software development.
•CASE is used to ensure a high-quality and defect-free software.
•CASE ensures a check-pointed and disciplined approach.
•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
90
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.
•It generates a framework for organizing projects and to be helpful in
enhancing productivity
Dept. of CSE, SOE, Presidency University
91
CASE Tools
•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.
Dept. of CSE, SOE, Presidency University
92
CASE tools Diagramming Tools
•Helps in diagrammatic and graphical representations of the data and
system processes.
•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
Dept. of CSE, SOE, Presidency University
93
CASE tools Computer Display and Report Generators
•Helps in understanding the data requirements and the relationships involved.
Dept. of CSE, SOE, Presidency University
94
CASE tools Analysis Tools
• Focuses on inconsistent, incorrect specifications involved in the diagram and
data flow
• Helps in collecting requirements, automatically check for any irregularity,
imprecision in the diagrams, data redundancies or erroneous omissions.
For example,
(i) Accept 360, Accompa, CaseComplete for requirement analysis.
(ii) Visible Analyst for total analysis.
Dept. of CSE, SOE, Presidency University
95
CASE tools Documentation Generators
•Helps in generating user and technical documentation as per standards.
•Creates documents for technical users and end users.
•For example,
•Doxygen,
•DrExplain,
•Adobe RoboHelp.
Dept. of CSE, SOE, Presidency University
96
CASE tools Code Generators
•Aids in the auto generation of code, including definitions, with the
help of the designs, documents and diagrams
•EG
•Altova UModel
•GeneXus
Dept. of CSE, SOE, Presidency University
97
Advantages of the CASE approach
•As special emphasis is placed on redesign as well as testing, the servicing
cost of a product over its expected lifetime is considerably reduced.
•The overall quality of the product is improved as an organized approach
is undertaken during the process of development.
•Chances to meet real-world requirements are more likely and easier with a
computer-aided software engineering approach.
•CASE indirectly provides an organization with a competitive advantage by
helping ensure the development of high-quality products
Dept. of CSE, SOE, Presidency University
98
Disadvantages of the CASE approach
•Cost: Using case tool is a very costly.
•Mostly firms engaged in software development on a small scale do not invest
in CASE tools because they think that the benefit of CASE are justifiable
only in the development of large systems.
•Learning Curve: In most cases, programmers productivity may fall in the
initial phase of implementation , because user need time to learn the
technology.
•Many consultants offer training and on-site services that can be important
to accelerate the learning curve and to the development and use of the
CASE tools.
Dept. of CSE, SOE, Presidency University
99
Characteristics of CASE Tools
1) Standard Methodology :
A CASE tool should support standard software development
methodologies and modelling techniques. Presently, CASE tools use UML.
2) Flexibility :
A CASE tool must provide flexibility and options to the user for editors
and other tools.
3) Strong Integration :
CASE tools must be integrated with all stages of software development.
This means that if a change is made in a model, it must reflect in the code
documentation and all related design.
Dept. of CSE, SOE, Presidency University
100
Characteristics of CASE Tools
4) Integration with Testing Software :
CASE tools should provide interfaces for automatic testing tools. This helps
in regression and other testing software's under changing conditions.
5) Support for Reverse Engineering :
CASE tools should be as that it can create complex models from existing
code.
6) Online Help :
CASE tools offer online tutorials.
Dept. of CSE, SOE, Presidency University
101
L20: Architecture of CASE Environment
LO: Describe the CASE architecture
Architecture of Computer Aided Software
Engineering (CASE) Environment
• A database for storing information.
• An object management system for managing variations made to the
information.
• 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.
Dept. of CSE, SOE, Presidency University
103
Architecture of Computer Aided Software
Engineering (CASE) Environment
Dept. of CSE, SOE, Presidency University
104
Architecture of Computer Aided Software
Engineering (CASE) Environment
User Interface Layer
•It is made up of an interface toolkit that is standardized.
• It implements a common protocol which is used for presentation.
•The components of the interface are
•a library which contains display objects and
•software that facilitates management of interface between human and
computer.
Dept. of CSE, SOE, Presidency University
105
Architecture of Computer Aided Software
Engineering (CASE) Environment
User Interface Layer
• With the help of these two components the individual CASE tools and
components can communicate with each other consistently.
• The tool access mechanism are described in the presentation tool
• use of mouse and keyboard,
• menu names,
• object names,
• icons and
• screen layout.
Dept. of CSE, SOE, Presidency University
106
Architecture of Computer Aided Software
Engineering (CASE) Environment
Tools Layer
• The behavior of the tools within the environment is controlled by
the Tools Management Services (TMS).
• TMS carries out multitask communication and synchronization in
case multitasking is performed by executing multiple tools at a time.
• 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.
Dept. of CSE, SOE, Presidency University
107
Architecture of Computer Aided Software
Engineering (CASE) Environment
Object Management Layer
•A mechanism that enables in tool incorporation is the essence of
the software that is present in this layer of the framework
architecture.
•Each case tool has been plugged into the object management
layer.
•The OML and the CASE repository works in unison to
provide integration services.
Dept. of CSE, SOE, Presidency University
108
Architecture of Computer Aided Software
Engineering (CASE) Environment
Object Management Layer
•The tools are coupled with the repository by this set of standard modules.
•Apart from all these functions, the OML also support change control, status
accounting and audits.
•Configuration management services such as the task of classifying those
configuration objects that perform version control are also executed by it.
Dept. of CSE, SOE, Presidency University
109
Architecture of Computer Aided Software
Engineering (CASE) Environment
Shared Repository Layer
•It is made up of those access control functions with the help of
which the object management layer interacts with the CASE
database that is present in this layer.
•Shared repository layers and object management helps in
attaining data integration.
Dept. of CSE, SOE, Presidency University
110

More Related Content

PPTX
REQUIRMENT ENGINERRf3f02406b832ac5df6c7cc6-1678011872886.pptx
PDF
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
PPTX
Requirement Engineering. Types of requirement
PPTX
Software Engineering Unit 2 Power Point Presentation AKTU University
PPT
Software Requirements engineering
PDF
Software Requirements and Specifications
PPT
Requirment Engineering WITH SPECIAL EFFECTS
PPTX
Lecture 2 & 3.pptx
REQUIRMENT ENGINERRf3f02406b832ac5df6c7cc6-1678011872886.pptx
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
Requirement Engineering. Types of requirement
Software Engineering Unit 2 Power Point Presentation AKTU University
Software Requirements engineering
Software Requirements and Specifications
Requirment Engineering WITH SPECIAL EFFECTS
Lecture 2 & 3.pptx

Similar to CSE2014 SE MODULE - 2 new.pdf CSE2014 SE MODULE - 2 new.pdfCSE2014 SE MODULE - 2 new.pdfCSE2014 SE MODULE - 2 new.pdfCSE2014 SE MODULE - 2 new.pdf (20)

PPTX
Software requirement & specification .pptx
PPTX
software requirement specifcation.pptx
PPTX
Beit 381 se lec 15 - 16 - 12 mar27 - req engg 1 of 3
PPT
3.Requirements gathering and Analysis_SRS _Functional and Non Functional Requ...
PPTX
Software Engineering- Requirement Elicitation and Specification
PPT
chapter 4.ppt
PDF
9-Requirements Engineering process, Requirement Elicitation-21-01-2025.pdf
PPT
LECT3.ppt on software development life cycle
PPSX
Introduction to Requirement engineering
PPT
3.Requirements gathering and Analysis_SRS _Functional and Non Functional Requ...
PPT
Chapter 2 SRS_241222135554.ppt
PPT
CS8494 SOFTWARE ENGINEERING Unit-2
PDF
SE UNIT 2.pdf
PDF
software requirement and architecture.pdf
PDF
Software Engineering .pdf
PPT
3-Requirements.ppt
PPTX
Lecture 2.pptx Advance Software Engineering
PPT
Requirement specification
PPT
sxdcdcfdffvfvfvfvfvfvfvvgvgvgvgvgvgggggg
PDF
SE_Module2.pdf
Software requirement & specification .pptx
software requirement specifcation.pptx
Beit 381 se lec 15 - 16 - 12 mar27 - req engg 1 of 3
3.Requirements gathering and Analysis_SRS _Functional and Non Functional Requ...
Software Engineering- Requirement Elicitation and Specification
chapter 4.ppt
9-Requirements Engineering process, Requirement Elicitation-21-01-2025.pdf
LECT3.ppt on software development life cycle
Introduction to Requirement engineering
3.Requirements gathering and Analysis_SRS _Functional and Non Functional Requ...
Chapter 2 SRS_241222135554.ppt
CS8494 SOFTWARE ENGINEERING Unit-2
SE UNIT 2.pdf
software requirement and architecture.pdf
Software Engineering .pdf
3-Requirements.ppt
Lecture 2.pptx Advance Software Engineering
Requirement specification
sxdcdcfdffvfvfvfvfvfvfvvgvgvgvgvgvgggggg
SE_Module2.pdf
Ad

Recently uploaded (20)

PPTX
cse couse aefrfrqewrbqwrgbqgvq2w3vqbvq23rbgw3rnw345
PDF
シュアーイノベーション採用ピッチ資料|Company Introduction & Recruiting Deck
PPTX
Cerebral_Palsy_Detailed_Presentation.pptx
PDF
Biography of Mohammad Anamul Haque Nayan
PPTX
E-Commerce____Intermediate_Presentation.pptx
PDF
Sales and Distribution Managemnjnfijient.pdf
PPTX
normal_menstrual_cycle_,,physiology.PPTX
PPTX
Job-opportunities lecture about it skills
PPTX
PE3-WEEK-3sdsadsadasdadadwadwdsdddddd.pptx
PPTX
_+✅+JANUARY+2025+MONTHLY+CA.pptx current affairs
PPT
APPROACH TO DEVELOPMENTALlllllllllllllllll
PPTX
microtomy kkk. presenting to cryst in gl
PPT
BCH3201 (Enzymes and biocatalysis)-JEB (1).ppt
PPTX
Discovering the LMA Course by Tim Han.pptx
PPTX
Autonomic_Nervous_SystemM_Drugs_PPT.pptx
DOCX
How to Become a Criminal Profiler or Behavioural Analyst.docx
PDF
313302 DBMS UNIT 1 PPT for diploma Computer Eng Unit 2
PPTX
OnePlus 13R – ⚡ All-Rounder King Performance: Snapdragon 8 Gen 3 – same as iQ...
PDF
L-0018048598visual cloud book for PCa-pdf.pdf
PPTX
internship presentation of bsnl in colllege
cse couse aefrfrqewrbqwrgbqgvq2w3vqbvq23rbgw3rnw345
シュアーイノベーション採用ピッチ資料|Company Introduction & Recruiting Deck
Cerebral_Palsy_Detailed_Presentation.pptx
Biography of Mohammad Anamul Haque Nayan
E-Commerce____Intermediate_Presentation.pptx
Sales and Distribution Managemnjnfijient.pdf
normal_menstrual_cycle_,,physiology.PPTX
Job-opportunities lecture about it skills
PE3-WEEK-3sdsadsadasdadadwadwdsdddddd.pptx
_+✅+JANUARY+2025+MONTHLY+CA.pptx current affairs
APPROACH TO DEVELOPMENTALlllllllllllllllll
microtomy kkk. presenting to cryst in gl
BCH3201 (Enzymes and biocatalysis)-JEB (1).ppt
Discovering the LMA Course by Tim Han.pptx
Autonomic_Nervous_SystemM_Drugs_PPT.pptx
How to Become a Criminal Profiler or Behavioural Analyst.docx
313302 DBMS UNIT 1 PPT for diploma Computer Eng Unit 2
OnePlus 13R – ⚡ All-Rounder King Performance: Snapdragon 8 Gen 3 – same as iQ...
L-0018048598visual cloud book for PCa-pdf.pdf
internship presentation of bsnl in colllege
Ad

CSE2014 SE MODULE - 2 new.pdf CSE2014 SE MODULE - 2 new.pdfCSE2014 SE MODULE - 2 new.pdfCSE2014 SE MODULE - 2 new.pdfCSE2014 SE MODULE - 2 new.pdf

  • 1. SOFTWARE ENGINEERING (CSE 2014) Presidency School of Computer Science and Engineering
  • 2. Assessment Schedule S. No Assessment type Contents Course Outcome Number Duration In Hours Marks Weightage DATE 1 Surprise Test - 1 Module 1 CO1 30 Mins 10 5% 10.09.24 - 14.09.24 2 Assignment - 1 Module 2 CO2 1 week 10 5% 22.10.24 - 26.10.24 3 Mid Term Module 1 & 2 CO1 & CO2 90 Mins 50 25% 15.10.24 - 21.10.24 4 Surprise Test - 2 Module 3 CO3 30 Mins 10 5% 11.11.24 - 15.11.24 5 Assignment - 2 Module 4 CO4 1 week 10 5% 09.12.24 - 14.12.24 6 Presentation Module 3 & 4 CO3 & CO4 30 Mins 10 5% 16.12.24 - 20.12.24 7 End Term Module – 1 to 4 CO1, CO2, CO3,CO4 180 Mins 100 50% 05.01.25 - 15.01.25
  • 3. Module - 2 Software Requirements, Analysis and Design Requirements Engineering: Eliciting requirements, Functional and non- Functional requirements, Software Requirements Specification (SRS), Requirement Analysis and validation. Requirements modelling- Introduction to Use Cases, Activity diagram and Swim Lane diagram. CASE- Characteristics of CASE Tools, Architecture of a CASE Environment. Design: Design concepts, Architectural design, Component based design, User interface design.
  • 4. CO2: Identify the requirements, analysis and appropriate design models for a given application
  • 5. L12: Requirement Engineering: Eliciting Requirements LO: Define Requirement Engineering
  • 6. CONTENTS Requirements Engineering: 1. Eliciting requirements 2. Functional and non- Functional requirements 3. Software Requirements Specification (SRS) 4. Requirement Analysis and validation.
  • 7. Requirements Engineering • Requirement is a capability or condition required from the system. • Requirements engineering is the process of gathering, analyzing, documenting, validating, and managing requirements. • The main goal: clearly understand the customer requirements and systematically organize these requirements in the SRS. • Software Requirements specification (SRS) document.
  • 8. Requirements Engineering It encompasses seven distinct tasks: • Inception - The project's scope, goals, and requirements are identified and defined. • Elicitation - The process of gathering and discovering requirements from stakeholders, users, and other sources. • Elaboration - The process of refining, detailing, and expanding on the initially gathered requirements to create a comprehensive and precise specification. • Negotiation - The process of resolving conflicts and reaching agreements among stakeholders regarding the requirements of a system.
  • 9. Requirements Engineering • Specification – It is a detailed, precise description of the system's requirements, capturing the intended functions, behaviors, and constraints of the system being developed. • Validation - The process of ensuring that the documented requirements accurately reflect the needs and expectations of the stakeholders. • Management - The processes, practices, and tools used to oversee and control the activities related to gathering, documenting, analyzing, prioritizing, and maintaining requirements.
  • 10. Eliciting Requirements • Also called Requirements gathering. • It combines elements of problem solving, elaboration, negotiation and specification. • Collaborative team oriented approach • Stakeholders work together to identify the problem, • propose elements of the solution, • negotiate different approaches and • specify a preliminary set of solution requirements.
  • 11. Eliciting Requirements Collaborative Requirements Gathering: Different approaches: • Meeting are conducted and Attended by both Software Engineers and other Stakeholders. • Rules for preparation and participation are established. • An agenda is Suggested • Formal enough – to cover all important points • Informal Enough – To encourage the free flow of ideas.
  • 12. Eliciting Requirements Collaborative Requirements Gathering: Different approaches: • A facilitator (customer, developer or outsider) controls the meeting. • A definition mechanism (worksheets, flipcharts, or wall stickers or an electronic bulletin board, chat room or virtual forum ) is used.
  • 13. L13: Functional and Non Functional Requirements LO: Describe the types of requirements
  • 14. Types of Requirements 1. Functional Requirements: • Specify the functions and behaviors the software must perform. • Examples: User login, data retrieval, transaction processing. • A functional requirement can express a if/then relationship • Examples: If an alarm is received from a sensor, the system will report the alarm and halt until the alarm is acknowledged and cleared.
  • 15. Types of Requirements 2. Non Functional Requirements: • The quality constraints that the system must satisfy according to the project contract. • The priority or extent to which these factors are implemented varies from one project to other. • They are also called non-behavioral requirements.
  • 16. Types of Requirements 2. Non Functional Requirements: • A system can meet its functional requirements and fail to meet its nonfunctional requirements. • Define the software's characteristics and expected user experience (UX). • Sub Categories: • Performance • Usability • Scalability • Security • Portability
  • 17. Types of Requirements 2. Non Functional Requirements: • Ex: The pages of this web portal must load within 0.5 seconds.
  • 18. FUNCTIONAL REQUIREMENTS NON FUNCTIONAL REQUIREMENTS 1. A functional requirement defines a system or its component. A non-functional requirement defines the quality attribute of a software system. 2. It specifies “What should the software system do?” It places constraints on “How should the software system fulfill the functional requirements?” 3. Functional requirement is specified by User. Non-functional requirement is specified by technical peoples e.g. Architect, Technical leaders and software developers. 4. It is mandatory. It is not mandatory. 5. It is captured in use case. It is captured as a quality attribute. 6. Defined at a component level. Applied to a system as a whole. 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 testing, etc are done. Non-Functional Testing like Performance, Stress, Usability, Security testing, etc are done. 9. Usually easy to define. Usually more difficult to define.
  • 19. L14: Software Requirements Specification (SRS) LO: Illustrate SRS with examples
  • 20. SRS-Software Requirement Specification •Formal document that provides the complete description of the proposed software. •i.e., what the software will do without describing how it will do so.. •It is an important document required in software development.
  • 21. Need for SRS •Customers and users rely more on and better understand a written formal document than some technical specification. •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.
  • 22. Need for SRS: •It is treated as an agreement on the features incorporated in the final system of project between customer and the supplier. •A good quality SRS ensures high quality software product. •A high quality SRS reduces development effort (schedule, cost, and resources).
  • 23. Characteristics of good SRS: •Correctness: A SRS is said to be correct if it covers all the requirements that are actually expected from the system. •Unambiguity: A SRS is said to be unambiguous if all the requirements stated have only 1 interpretation. •Completeness: A complete SRS should cover every aspect of the system, leaving no gaps or ambiguities that could lead to misunderstandings, incomplete implementations, or missed functionalities. •Consistency: Requirements in SRS are said to be consistent if there are no conflicts between any set of requirements.
  • 24. Characteristics of good SRS: •Stability: Refers to the extent to which the requirements remain consistent and unchanged throughout the software development lifecycle. •Verifiability : A SRS is verifiable if there exists a specific technique to quantifiably measure the extent to which every requirement is met by the system. •Modifiability: A SRS should be made as modifiable as possible and should be capable of easily accepting changes to the system to some extent.
  • 25. Characteristics of good SRS: •Testability : A SRS should be written in such a way that it is easy to generate test cases and test plans from the document. •Traceability: One should be able to trace a requirement to design component and then to code segment in the program.
  • 26. SRS Format: 1. Introduction •Purpose of this document •Scope of this document •Overview 2. General description 3. Functional Requirements 4. Interface Requirements Dept. of CSE, SOE, Presidency University 26
  • 27. SRS Format: 5. Performance Requirements 6. Design Constraints 7. Non-Functional Attributes 8. Preliminary Schedule and Budget 9. Appendices Dept. of CSE, SOE, Presidency University 27
  • 28. SRS - Introduction •Purpose of this document: - Main aim is to describe the purpose and necessity of the document •Scope of this document: - To describe the overall working, main objective of document and also a development cost and time. •Overview: - It’s simply summary or overall review of product. Dept. of CSE, SOE, Presidency University 28
  • 29. SRS – General Description •Describe the general functions of product •Includes •Product Perspective •User Classes and Characteristics •Operating Environment •Design and Implementation Constraints •Assumptions and Dependencies Dept. of CSE, SOE, Presidency University 29
  • 30. SRS – Functional Requirements • Describing the possible outcome of software system which includes effects due to operation of program. • All functional requirements which may include calculations, data processing, etc. are placed in a ranked order. Dept. of CSE, SOE, Presidency University 30
  • 31. SRS – Interface Requirements • Describing how software program communicates with each other or users either in form of any language, code, or message. • Ex: Memory, Data Streams etc. Dept. of CSE, SOE, Presidency University 31
  • 32. SRS – Performance Requirements • How a software system performs desired functions under specific condition is explained. • It also explains required time, required memory, maximum error rate, etc. Dept. of CSE, SOE, Presidency University 32
  • 33. SRS – Design Constraints • Constraints which simply means limitation or restriction are specified and explained for design team. • Ex: use of a particular algorithm, hardware and software limitations, etc. Dept. of CSE, SOE, Presidency University 33
  • 34. SRS : Non-Functional Attributes • Attributes that are required by software system for better performance. • Example: Security, Portability, Reliability, Reusability, Application compatibility, Data integrity, Scalability capacity, etc. Dept. of CSE, SOE, Presidency University 34
  • 35. SRS – Preliminary Schedule and Budget • Initial version and budget of project plan are explained. • Includes overall time duration required and overall cost required for development of project Dept. of CSE, SOE, Presidency University 35
  • 36. SRS : Appendices •Additional information like references from where information is gathered, definitions of some specific terms, acronyms, abbreviations, etc. are given and explained. Dept. of CSE, SOE, Presidency University 36
  • 37. SRS : Example ..........Usersjose2DownloadsReqView- Example_Software_Requirements_Specification_SRS_Document (1).pdf (sample SRS document) Dept. of CSE, SOE, Presidency University 37
  • 38. Case Study: Create an SRS document for Hospital Management System/Online Bookstore System
  • 39. L15: Requirement Analysis and Validation LO: Describe the process of requirements validation
  • 40. Requirements Analysis and Validation • Many projects fail: •Because they start implementing the system without determining whether they are building what the customer really wants. • It is important to learn: •Requirements analysis and specification techniques carefully.
  • 41. Requirements Analysis and Validation • Goals: • Fully understand the user requirements. • Remove inconsistencies, anomalies, etc. from requirements. • Document requirements properly in an SRS document.
  • 42. 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.
  • 43. Requirements Analysis • Final output of this phase: Software Requirements Specification (SRS) Document. • The SRS document is reviewed by the customer. Reviewed SRS document forms the basis of all future development activities.
  • 44. Requirements Analysis • Analyst gathers requirements through: • Observation of existing systems, • Studying existing procedures, • Discussion with the customer and end-users, • Analysis of what needs to be done, etc.
  • 45. Requirements Analysis Requirements Gathering: • Also known as Requirements Elicitation. • If the project is to automate some existing procedures •Analyst can immediately obtain: • Input and output formats • Accurate details of the operational procedures
  • 46. Requirements Analysis Requirements Gathering : • In the absence of a working system, •Lot of imagination and creativity are required. • Interacting with the customer to gather relevant data: •Requires a lot of experience. • Some desirable attributes of a good system analyst: •Good interaction skills, •Imagination and creativity, •Experience.
  • 47. Requirements Analysis Requirements Gathering Activities: 1. the existing documentation 2. Interview 3. Task analysis 4. Scenario analysis 5. Form analysis
  • 48. Requirements Validation •The process of checking that requirements defined for development and define the system that the customer really wants. •To check issues related to requirements, we perform requirements validation. • Is each requirement consistent with the overall objective for the system/product? • 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? Dept. of CSE, SOE, Presidency University 48
  • 49. Requirements Validation • Is the requirement really necessary or does it represent an add-on feature that may not be essential to the objective of the system? • Is each requirement bounded and unambiguous? • Does each requirement have attribution? That is, is a source (generally, a specific individual) noted for each requirement? • Do any requirements conflict with other requirements? Dept. of CSE, SOE, Presidency University 49
  • 50. Requirements Validation • Is each requirement achievable in the technical environment that will house the system or product? • Is each requirement testable, once implemented? • Does the requirements model properly reflect the information, function and behavior of the system to be built. Dept. of CSE, SOE, Presidency University 50
  • 51. Requirements Validation • Has the requirements model been “partitioned” in a way that exposes progressively more detailed information about the system. • Have requirements patterns been used to simplify the requirements model. Have all patterns been properly validated? Are all patterns consistent with customer requirements? Dept. of CSE, SOE, Presidency University 51
  • 52. L16: Requirements Modelling- Introduction to Use Cases LO: Illustrate the functional requirements with the help of use case diagrams
  • 53. Requirements Modelling • Uses a combination of diagrams and text to depict requirements in a way that is easier to understand. • Through modelling we can examine the system from various perspectives. Use case Diagram: • It is a behavior diagram show the dynamic behavior of the objects in a system, which can be described as a series of changes to the system over time. • Describes a system's functional requirements in terms of use cases. • It is a model of the system's intended functionality (use cases) and its environment (actors). Dept. of CSE, SOE, Presidency University 53
  • 54. Requirements Modelling • Use Case Diagram • UML: Unified Modelling Language • Standard Modelling Language • consisting of an integrated set of diagrams • Developed to help system and software developers • For specifying, visualizing, constructing, and documenting the artifacts of software systems, as well as for business modeling and other non-software systems. • A proper use case diagram depicts a high-level overview of the relationship between use cases, actors, and systems. Dept. of CSE, SOE, Presidency University 54
  • 55. Requirements Modelling • Use case diagram components • System : • 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. Dept. of CSE, SOE, Presidency University 55
  • 56. Requirements Modelling •Use case diagram components •Use Case •A use case is a collection of possible sequences of interactions between the SUD and its Actors, relating to a particular goal. • The collection of Use Cases should define all system behavior relevant to the actors to assure them that their goals will be carried out properly. •A use case is drawn as a horizontal ellipse. Dept. of CSE, SOE, Presidency University 56
  • 57. Requirements Modelling •Use case diagram components Use Cases: •Hold Functional Requirements in an easy to read, easy to track text format. •Represents the goal of an interaction between an actor and the system. •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). Dept. of CSE, SOE, Presidency University 57
  • 58. Requirements Modelling •Use case diagram components •Records a set of scenarios that traverse an actor from a trigger event toward a goal but fall short of the goal (failure scenarios). •Are multi-level: one use case can use/extend the functionality of another. •Use Case Names Begin With a Strong Verb •Use Cases are named using the domain terminologies Dept. of CSE, SOE, Presidency University 58
  • 59. Requirements Modelling •Use case diagram components Use Cases Do Not… •Specify user interface design. They specify the intent, not the action detail •Mock up screens/ Prototype may be included depicting the functionality •Specify implementation detail (unless it is of particular importance to the actor to be assured that the goal is properly met) Dept. of CSE, SOE, Presidency University 59
  • 60. Requirements Modelling • Use case diagram components • Use Case Relationships (Associations) • Associations between actors and use cases are indicated in use case diagrams by solid lines. • An association exists whenever an actor is involved with an interaction described by a use case. • There are several types of relationships that may appear on a use case diagram: • An association between an actor and a use case • An association between two use cases • A generalization between two actors • A generalization between two use cases Dept. of CSE, SOE, Presidency University 60
  • 61. Requirements Modelling •Use case diagram components - association between two use cases •Includes Relationship •"X includes Y" indicates that the task "X" has a subtask "Y"; that is, in the process of completing task "X", task "Y" will be completed at least once. •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. Dept. of CSE, SOE, Presidency University 61
  • 62. Requirements Modelling •Use case Diagram Dept. of CSE, SOE, Presidency University 62 Actor Use Case 1 Use Case 2 Association relationship Use Case 3 <<include>> Use Case 4 <<extend>> Generalization
  • 63. Requirements Modelling •Use case Diagram – Airline Reservation System Dept. of CSE, SOE, Presidency University 63 Reservation System Ticket Clerk Add Reservation Cancel Reservation Check-in Passenger Weigh Luggage <<include>> Assign Seat <<include>> Assign Window Seat <<extend>> Assign Aisle Seat <<extend>>
  • 64. EG: Different ways association relationship appears in use case diagrams
  • 65. Requirements Modelling •Use case Diagram – Online Shopping System Dept. of CSE, SOE, Presidency University 65
  • 66. • View Items use case is extended by several optional use cases - customer may search for items, browse catalog, view items recommended for him/her, add items to shopping cart or wish list. All these use cases are extending use cases because they provide some optional functions allowing customer to find item. Customer Authentication use case is included in View Recommended Items and Add to Wish List because both require the customer to be authenticated. At the same time, item could be added to the shopping cart without user authentication.
  • 67. • Checkout use case includes several required uses cases. Web customer should be authenticated. It could be done through user login page, user authentication cookie ("Remember me") or Single Sign-On (SSO). Web site authentication service is used in all these use cases, while SSO also requires participation of external identity provider. Checkout use case also includes Payment use case which could be done either by using credit card and external credit payment service or with PayPal
  • 68. Requirements Modelling •Use case Diagram – Bank Transaction System Dept. of CSE, SOE, Presidency University 68
  • 69. Requirements Modelling •Use case Diagram – ATM Transaction Dept. of CSE, SOE, Presidency University 69
  • 70. L17: Activity Diagram LO: Illustrate the dynamic behaviour of the system with the help of activity diagrams
  • 71. Requirements Modelling Activity Diagram •Important Diagram in UML •To describe the dynamic aspects of the system. •It is basically a flowchart to represent the flow from one activity to another activity. •The activity can be described as an operation of the system. •The control flow is drawn from one operation to another. •This flow can be sequential, branched, or concurrent. •It deals with all type of flow control by using different elements such as fork, join, etc Dept. of CSE, SOE, Presidency University 71
  • 72. Requirements Modelling Purpose of Activity Diagram •It captures the dynamic behavior of the system. •used for visualizing the dynamic nature of a system. How to Draw: •Activity diagrams are not exactly flowcharts as they have some additional capabilities. •These additional capabilities include branching, parallel flow, swimlane, etc. Dept. of CSE, SOE, Presidency University 72
  • 73. Requirements Modelling Basic Components of an Activity Diagram • Action: A step in the activity wherein the users or software perform a given task. • The actions are symbolized with round-edged rectangles. • Decision node: A conditional branch in the flow that is represented by a diamond. • It includes a single input and two or more outputs. • Control flows: Another name for the connectors that show the flow between steps in the diagram. • Start node: Symbolizes the beginning of the activity. The start node is represented by a black circle. • End node: Represents the final step in the activity. The end node is represented by an outlined black circle. Dept. of CSE, SOE, Presidency University 73
  • 74. Requirements Modelling Activity Diagrams: Components Dept. of CSE, SOE, Presidency University 74 Connector
  • 75. Requirements Modelling Activity Diagrams: Dept. of CSE, SOE, Presidency University 75
  • 76. Draw an Activity Diagram for Withdraw Amount •Insert the ATM card •Enter PIN •Check if PIN is valid •Enter amount •Check for sufficient balance •Withdraw amount •Update Account balance •Terminate transaction
  • 78. Draw an Activity Diagram for Processing Orders •Sales representative enters details of new order •If special materials required that are not in stock place order for special materials with supplier •Add order to production list •Inform customer
  • 81. Activity Diagram - Forks and Joins • Forks and joins distinguish activity diagrams from traditional flow charts. • When a transition enters a fork, execution branches off in two or more directions simultaneously. • The threads exiting a fork operate concurrently. • Threads converge at a join. • Fork - represented by a horizontal bar, with two concurrent threads. • Join - represented by a horizontal bar. Fork Join
  • 82. L18: Swimlane Diagram LO: Illustrate the dynamic behaviour of the system with the help of swim lane diagrams
  • 83. Requirements Modelling Swimlane Diagrams •UML has no specific Swimlane diagram. •It is a special case under Activity diagram. •Swimlane diagram is also graphical representation of the System. •Swimlane diagrams are also known as the Rummler-Brache diagram or a cross-functional diagram. •Swimlanes are sometimes called functional bands. •It simply describes who is responsible for the activities being performed in the activity diagram and how they are responsible. Dept. of CSE, SOE, Presidency University 83
  • 84. Requirements Modelling Symbols used in Swimlane Diagram : •“Parallel Segment” is the extra symbol in swimlane diagram along with all symbols of Activity Diagram. •Responsibilities are represented as “Parallel Segments” that divide the diagram vertically , like the lanes in a swimming pool hence the name “swimlane”. Dept. of CSE, SOE, Presidency University 84
  • 85. Requirements Modelling Swimlane Diagrams Dept. of CSE, SOE, Presidency University 85
  • 86. Requirements Modelling Swimlane Diagrams Dept. of CSE, SOE, Presidency University 86
  • 87. Requirements Modelling Swimlane Diagrams Dept. of CSE, SOE, Presidency University 87
  • 88. Swimlane diagram – ATM Management System to withdraw amount Showing Responsibilities of Customer, ATM and Bank
  • 89. L19: Case- Characteristics of CASE tools LO: Describe the characteristics of CASE tools
  • 90. CASE support in Software Life Cycle •Computer aided software engineering (CASE) is the implementation of computer facilitated tools and methods in software development. •CASE is used to ensure a high-quality and defect-free software. •CASE ensures a check-pointed and disciplined approach. •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 90
  • 91. 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. •It generates a framework for organizing projects and to be helpful in enhancing productivity Dept. of CSE, SOE, Presidency University 91
  • 92. CASE Tools •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. Dept. of CSE, SOE, Presidency University 92
  • 93. CASE tools Diagramming Tools •Helps in diagrammatic and graphical representations of the data and system processes. •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 Dept. of CSE, SOE, Presidency University 93
  • 94. CASE tools Computer Display and Report Generators •Helps in understanding the data requirements and the relationships involved. Dept. of CSE, SOE, Presidency University 94
  • 95. CASE tools Analysis Tools • Focuses on inconsistent, incorrect specifications involved in the diagram and data flow • Helps in collecting requirements, automatically check for any irregularity, imprecision in the diagrams, data redundancies or erroneous omissions. For example, (i) Accept 360, Accompa, CaseComplete for requirement analysis. (ii) Visible Analyst for total analysis. Dept. of CSE, SOE, Presidency University 95
  • 96. CASE tools Documentation Generators •Helps in generating user and technical documentation as per standards. •Creates documents for technical users and end users. •For example, •Doxygen, •DrExplain, •Adobe RoboHelp. Dept. of CSE, SOE, Presidency University 96
  • 97. CASE tools Code Generators •Aids in the auto generation of code, including definitions, with the help of the designs, documents and diagrams •EG •Altova UModel •GeneXus Dept. of CSE, SOE, Presidency University 97
  • 98. Advantages of the CASE approach •As special emphasis is placed on redesign as well as testing, the servicing cost of a product over its expected lifetime is considerably reduced. •The overall quality of the product is improved as an organized approach is undertaken during the process of development. •Chances to meet real-world requirements are more likely and easier with a computer-aided software engineering approach. •CASE indirectly provides an organization with a competitive advantage by helping ensure the development of high-quality products Dept. of CSE, SOE, Presidency University 98
  • 99. Disadvantages of the CASE approach •Cost: Using case tool is a very costly. •Mostly firms engaged in software development on a small scale do not invest in CASE tools because they think that the benefit of CASE are justifiable only in the development of large systems. •Learning Curve: In most cases, programmers productivity may fall in the initial phase of implementation , because user need time to learn the technology. •Many consultants offer training and on-site services that can be important to accelerate the learning curve and to the development and use of the CASE tools. Dept. of CSE, SOE, Presidency University 99
  • 100. Characteristics of CASE Tools 1) Standard Methodology : A CASE tool should support standard software development methodologies and modelling techniques. Presently, CASE tools use UML. 2) Flexibility : A CASE tool must provide flexibility and options to the user for editors and other tools. 3) Strong Integration : CASE tools must be integrated with all stages of software development. This means that if a change is made in a model, it must reflect in the code documentation and all related design. Dept. of CSE, SOE, Presidency University 100
  • 101. Characteristics of CASE Tools 4) Integration with Testing Software : CASE tools should provide interfaces for automatic testing tools. This helps in regression and other testing software's under changing conditions. 5) Support for Reverse Engineering : CASE tools should be as that it can create complex models from existing code. 6) Online Help : CASE tools offer online tutorials. Dept. of CSE, SOE, Presidency University 101
  • 102. L20: Architecture of CASE Environment LO: Describe the CASE architecture
  • 103. Architecture of Computer Aided Software Engineering (CASE) Environment • A database for storing information. • An object management system for managing variations made to the information. • 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. Dept. of CSE, SOE, Presidency University 103
  • 104. Architecture of Computer Aided Software Engineering (CASE) Environment Dept. of CSE, SOE, Presidency University 104
  • 105. Architecture of Computer Aided Software Engineering (CASE) Environment User Interface Layer •It is made up of an interface toolkit that is standardized. • It implements a common protocol which is used for presentation. •The components of the interface are •a library which contains display objects and •software that facilitates management of interface between human and computer. Dept. of CSE, SOE, Presidency University 105
  • 106. Architecture of Computer Aided Software Engineering (CASE) Environment User Interface Layer • With the help of these two components the individual CASE tools and components can communicate with each other consistently. • The tool access mechanism are described in the presentation tool • use of mouse and keyboard, • menu names, • object names, • icons and • screen layout. Dept. of CSE, SOE, Presidency University 106
  • 107. Architecture of Computer Aided Software Engineering (CASE) Environment Tools Layer • The behavior of the tools within the environment is controlled by the Tools Management Services (TMS). • TMS carries out multitask communication and synchronization in case multitasking is performed by executing multiple tools at a time. • 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. Dept. of CSE, SOE, Presidency University 107
  • 108. Architecture of Computer Aided Software Engineering (CASE) Environment Object Management Layer •A mechanism that enables in tool incorporation is the essence of the software that is present in this layer of the framework architecture. •Each case tool has been plugged into the object management layer. •The OML and the CASE repository works in unison to provide integration services. Dept. of CSE, SOE, Presidency University 108
  • 109. Architecture of Computer Aided Software Engineering (CASE) Environment Object Management Layer •The tools are coupled with the repository by this set of standard modules. •Apart from all these functions, the OML also support change control, status accounting and audits. •Configuration management services such as the task of classifying those configuration objects that perform version control are also executed by it. Dept. of CSE, SOE, Presidency University 109
  • 110. Architecture of Computer Aided Software Engineering (CASE) Environment Shared Repository Layer •It is made up of those access control functions with the help of which the object management layer interacts with the CASE database that is present in this layer. •Shared repository layers and object management helps in attaining data integration. Dept. of CSE, SOE, Presidency University 110