0% found this document useful (0 votes)
22 views68 pages

Se Unit 2 Analysis Modelling

The document outlines the process of building an analysis model, emphasizing the importance of requirements analysis and various modeling elements such as scenario-based, class-oriented, behavioral, and flow-oriented models. It discusses data modeling concepts, particularly the Entity-Relationship (ER) model, and provides insights into software architecture, including architectural styles and data flow diagrams. The document also details a seven-step process for mapping data flow diagrams into software architecture to enhance software quality.

Uploaded by

Gokul K V
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views68 pages

Se Unit 2 Analysis Modelling

The document outlines the process of building an analysis model, emphasizing the importance of requirements analysis and various modeling elements such as scenario-based, class-oriented, behavioral, and flow-oriented models. It discusses data modeling concepts, particularly the Entity-Relationship (ER) model, and provides insights into software architecture, including architectural styles and data flow diagrams. The document also details a seven-step process for mapping data flow diagrams into software architecture to enhance software quality.

Uploaded by

Gokul K V
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 68

UNIT -2

Building the analysis model

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


ANALYSIS MODELLING
✓ Requirements analysis allows to elaborate on
basic requirements established at the phase
of requirements engineering.

✓ The analysis model bridges the gap between


a system-level description that describes
overall system or business functionality and
a software design

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Elements of Analysis Models
1. Scenario-based models of requirements from the
point of view of various system “actors”
2. Class-oriented models that represent object-
oriented classes (attributes and operations) and the
manner in which classes collaborate to achieve
system requirements
3. Behavioral models that depict how the software
behaves as a consequence of external “events”
4. Flow-oriented models that represent the
functional elements of the system and how they
transform data as it moves through the system

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Data modelling concepts - ER Model
Entity:
• An entity is referred to as a real-world object.
• It can be a name, place, object, class, etc.
• These are represented by a Rectangle.
Attributes:
• Atrribute is the description of the entity.
• It can be Age, Roll Number, or Marks for a Student.
• These are represented by Eclipse.
Relationship:
• Relationships are used to define relations among different entities.
• Like entities, relationship can contain attributes known as descriptive attribute.
• Diamonds and Rhombus are used to show Relationships.

Ms.K.Keerthika AP/CS- Amrita Vishwa Vidyapeetham, Mysuru


ER Diagram Notations

Ms.K.Keerthika AP/CS- Amrita Vishwa Vidyapeetham, Mysuru


Online Shopping Application

Ms.K.Keerthika AP/CS- Amrita Vishwa Vidyapeetham, Mysuru


Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru
Scenario
based models
Use case - Activity - Swimlane Diagram

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Scenario-based models –Activity /Swimlane Diagram

❖ Activity diagram is basically a flowchart to


represent the flow from one activity to another
activity.

❖ Swim-lane diagram is a type of flowchart that


represent who (actor/object) does an activity in
a process

❖ Activity diagram can optionally contain the


swim-lanes for clear representation of process
flow

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Scenario-based models –Activity /Swimlane Diagram

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru
Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru
Behavioral models
Sequence – State chart/Transition Diagram

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Behavioral Model -State Transition Diagram
• A state diagram is used to represent the condition of the system or part of
the system at finite instances of time.
• It’s a behavioral diagram and it represents the behavior using finite state
transitions.
Notations

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Behavioral Model -State Transition Diagram

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Behavioral Model –Sequence diagram
It is an interaction model, are used to model sequence of messages between actor and
the objects in the system, although external agents may also be included.

Lifespan –
Activation
bar

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Behavioral Model –Sequence diagram
It is an interaction model, are used to model sequence of messages between actor and
the objects in the system, although external agents may also be included.

Actor from
Use Case Objects

Lifespan –
1
Activation bar
2
3

Lifeline Request = Solid Lines


Response = Dashed Lines
Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru
Sequence Diagram–ATM Process

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


CLASS
based models
– Class Diagram

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Class based model – Class diagram
A class is a rectangle divided into three parts Name
▪ Class name
▪ Class attributes (i.e. data members, variables) Account
▪ Class operations (i.e. methods) Account_no;
Balance; Attributes
Modifiers
▪ Private: - getbalance()
▪ Public: + displaybalance()
▪ Protected: # Operations
Relationship
▪ Association ( Binary , Unary)
▪ Aggregation (Whole & Part class )
▪ Composition (Dependent class)
▪ Inheritance (General class , Specific class)

Multiplicities
➢ 0…1
➢ 1…*
Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru
Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru
Class based model – Class relationship
❖ Association
• where one class must know about the other to do its work, e.g. client communicates to server
• indicated by a straight line or arrow

❖ Aggregation
• An association where one class belongs to a whole collection, e.g. instructor part of Faculty
• Indicated by an empty diamond on the side of the collection

❖ Composition
• Strong form of Aggregation
• Lifetime control; components cannot exist without the aggregate
• Indicated by a solid diamond on the side of the collection

❖ Inheritance
• An inheritance link indicating parent and child relationship, e.g. bird is child class of mammal
• Indicated by triangle pointing to superclass
Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru
Class diagram – Online Shopping

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Class diagram- Q&A
• Relation between Account and SB account
• Relation between Bank and Account
• Multiplicity between the Customer and Account
• Attributes of Account class
• Relation between ATM Transaction and Withdraw
• Association between ATM and Cash dispenser

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Click to edit Master title style

Software
architecture

25

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Click to edit Master
Architecture Design title
– IEEE
style
definition

“The process of defining a collection of


hardware and software components
and their interfaces to establish the
framework for the development of a
computer system.”

26

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Click to Advantages
edit Master of
title
explicit
style Architecture

Stakeholder Communication
• Architecture may be used as a focus of system
stakeholders discussion

System Analysis
• Analysis of whether the system can meet its
non-functional requirements is possible

Large-scale Reuse
• The architecture may be reusable across a
range of systems
27

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Click to edit Master title style
Architectural Styles

2.Data flow
3.Call return
4.Layered

28
1.Data
Click to edit Master centered
title style

➢A data store resides at the center of this


architecture and is accessed frequently by
other components that update, add,
delete, or otherwise modify data within the
store.

➢Data store can be a file or database

➢ Client software accesses a central


repository.

29

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Click to edit Master title style
1.Data centered

➢Passive repository → client software


accesses the data independent of any
changes to the data or the actions of
other client software.

➢Data-centered architectures promote


integrability

➢ Client components can also


independently execute processes.

30

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Click to edit Master title style
2.Data flow

➢This architecture is applied when input


data are to be transformed through a
series of computational or manipulative
components into output data

➢filters, connected by pipes that transmit


data from one component to the next.

31

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Click to edit Master title style
2.Data flow

➢ Each filter works independently of those


components upstream and downstream

➢ It is designed to expect data input of a


certain form, and produces data output (to
the next filter) of a specified form

➢ This structure accepts a batch of data


and then applies a series of sequential
components (filters) to transform it.

32

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Click to edit Master title style
2.Data flow

Pipes

Filters

33

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Click to edit Master title style
3.Call return
➢It is used to create a program that is easy to
scale and modify

➢Remote procedure call : This components is


used to present in a main program or sub
program architecture distributed among multiple
computers on a network.

➢Main program or Subprogram :


The main program structure decomposes into
number of subprograms or function into a control
hierarchy. Main program contains number of
subprograms that can invoke other components. 34
Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru
Click to edit Master title style
4.Layered
➢A number of different layers are defined
with each layer performing a well-defined
set of operations

➢At the outer layer, components will


receive the user interface operations

➢At the inner layers, components will


perform the operating system interfacing

➢Intermediate layers to utility services and


application software functions.

35

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Click to edit Master title style

Transform and
Transaction Mapping

36

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Click to Data
edit Master
flow diagrams
title style

➢ A Data Flow Diagram (DFD) is a traditional


visual representation of the information flows
within a system

➢ The objective of a DFD is to show the scope


and boundaries , starting point of design

➢ The DFD is also called as a data flow graph


or bubble chart.

37

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Click flow
Data to edit
diagrams
Master title style

38

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


To map data flow diagrams into a software architecture :
Click to edit Master title style
7 Steps
1
Review the fundamental system model (context model DFD -0)

2
Review and refine data flow diagrams for the software (DFD -1)

3
Determine whether the DFD has transform or transaction flow (DFD-2)

4 Isolate the transform center by specifying incoming and outgoing flow


boundaries ( DFD - 3)

5
Perform “first-level factoring”

6
Perform “second-level factoring”

7 Refine the first-iteration architecture using design heuristics for improved


39
software quality
Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru
Click to edit
Transform andMaster
Transaction
title style
Mapping

The objective of the preceding seven steps


➢ to develop an architectural representation of software.
➢ once structure is defined, it can be evaluated and refined
software architecture by viewing it as a whole.
➢ Modifications made at this time require little additional work, yet
it can have a profound impact on software quality.

40

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Click to 1.
edit
Review
Masterthe
title
fundamental
style system model

➢The fundamental system model or


context diagram depicts the security
function as a single transformation,

➢representing the external producers and


consumers of data that flow into and out of
the function.

➢Figure depicts a level 0 context model

Level 0 DFD
41

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


2. Review and refine data flow diagrams for
Click the
to edit Master title style
software

➢Information obtained from the


requirements model is refined to
produce greater detail

Level 1 DFD
42

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Click to 3. Determine
edit whether
Master title style the DFD has transform
or transaction flow

➢Evaluating the DFD with data entering the


software along incoming path and exiting along
outgoing paths

➢In example : data entering the software along


one incoming path and exiting along three
outgoing paths

Level 2 DFD

43

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


4. Isolate the transform center by specifying
Click to edit Master
incoming title styleflow boundaries
and outgoing

➢This design step on selecting reasonable


boundaries

➢Incoming data flow - information is


converted from external to internal form;

➢Outgoing flow - converts internalized data to


external form.

➢ Incoming and outgoing flow boundaries are


open to interpretation
Level 3 DFD

44

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


4. Isolate the transform center by specifying
Click to edit Master
incoming and title styleflow boundaries
outgoing

➢At level 3, each transform in the DFD


exhibits relatively high cohesion.

➢The design process implied by a


transform which performs a single,
distinct function , can be implemented
as a sub-system component

Level 3 DFD

45

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


4. Isolate the transform center by specifying
Click to edit Master title style
incoming and outgoing flow boundaries

➢Level 3 DFD contains sufficient detail for


a “first cut “ at the design of architecture

➢Level 3 DFD is proceeded without


further refinement

Level 3 DFD
46

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Click to 5.
edit
Perform
Master“first-level
title style factoring”

Factoring leads to a program structure in which ,

➢Top-level components perform decision making

➢Low-level components perform most input,


computation, and output work.

➢Middle-level components perform some control


and do moderate amounts of work.

47

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Click to 5.
edit
Perform
Master“first-level
title style factoring”

➢ The program architecture derived using this


mapping results in a top-down distribution of
control.

➢ DFD is mapped to a specific structure (a call


and return architecture)

➢ provides control for incoming, transform, and


outgoing information processing.

48

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Click to “first-level
edit Masterfactoring”
title style - Safe Home System
A main controller : monitor sensors executive resides at the top of the
program structure and coordinates the following subordinate control
functions:

➢ An incoming information processing controller : sensor input


controller, coordinates receipt of all incoming data.

➢ A transform flow controller : alarm conditions controller, supervises all


operations on data in internalized form.

➢ An outgoing information processing controller : alarm output


controller, coordinates production of output information.
49

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Click to edit Master
6.Perform
title“second-level
style factoring”

➢ Second-level factoring is accomplished by


mapping individual transforms (bubbles) of a
DFD into appropriate sub-ordinate modules
within the architecture.

➢Beginning at the transform center


boundary moving outward along incoming
and then outgoing paths.

50

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Click to edit6.Perform “second-level
Master title style factoring”

➢ Two or even three bubbles can be


combined and represented as one
component.

➢ A single bubble may be expanded to two


or more components.

➢ Review and refinement may lead to


changes in this structure, but it can
serve as a “first-iteration” design.

51

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


“first-iteration”
Click to edit Master title style

52

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Click to edit Master title style
“first-iteration”

➢ Initial design of software architecture

➢ Describes the component interface, internal


data structures, a functional narrative, brief
discussion of restrictions and special
features

➢ e.g., file input-output, hardware dependent


characteristics, special timing requirements

53

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


7. Refine the first-iteration architecture using design
Click to edit Master title style
heuristics for improved software quality

➢A first-iteration architecture refined by


applying concepts of functional independence

➢Components are exploded or imploded

➢ Produces sensible factoring, separation of


concerns, good cohesion, minimal coupling

54

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


7. Refine the first-iteration architecture using design
Click to edit Master title style
heuristics for improved software quality

This step produces a structure of software


design that can be
1.implemented without difficulty
2.tested without confusion
3.maintained without grief

55

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Click to How to implement
edit Master title styleAgile ?

✓ Extreme
Programming
(XP)

✓ Scrum

56

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Click to edit Master title style

Extreme
Programming (XP)

57

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Click to Agile -XP title style
edit Master

58

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


1. Planning
2.Small Releases
Click to edit Master title style
the Game

➢The client and development team


➢Frequent as possible to gain plenty of
work together in planning the
product. feedback
➢Right balance between what the client wants
➢Larger planning session for products completed first and what can be developed
requirements , priorities ,short
early
releases done at project initiation
➢Week or two ahead, rather than months –
➢Smaller planning focus on Short releases
development tasks to be completed
in iteration –done at each iteration
Release ….n

Release 2

Release 1

59

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


3.System
4.Simple Design
Click to edit Master title style
Metaphor

➢Makes easier to explain • Focus on the simplest design that


the product to someone works to satisfy the client’s needs.
else • Requirements change, so it would
➢Describe the product to be wasteful in making elaborate
someone who is not designs
technical • In XP ,make the simplest thing
➢A common set of that works.
terminology

60

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


5. Continuous
6. Refactoring
Click to edit Master title style
Testing

➢ Tests are prepared ➢ Refactoring is a practice to restructure the internal


before its corresponding design of the code without changing its external
source code is written. behavior.
➢ Making the user or ➢ The aim is to improve the design in small steps
programmatic interface
to it simple ➢ Allow new requirements to be added more easily
➢ To verify that the ➢ If refactoring is not done, then changes become
required behavior has extremely difficult
been achieved.
➢ TDD in XP –Acceptance
and Unit testing

61

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


7.Pair 8.Collective Code
Click to edit Master title style
Programming Ownership

➢ Specific pair of developers implement a


particular piece of the product, they do not
➢ Two developers work side-by-side at one “own”
computer to work on a single task
➢ Contributions of other team members can add
➢ The code is reviewed all the time by another to it or any other part of the product
➢ Pairing a senior and junior developer can ➢ The produced work is the result of the team,
promote learning not individuals
➢ The senior one imparts strategic advice and ➢ Project success and failure resides with the
the junior one offers a fresh perspective team, not on specific developers.

62

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


10. 40-Hour Work
9.Continuous
Week
Click to edit Master title style
Integration

➢ Developers combine their ➢ XP aims to be programmer-


code often to catch friendly
integration issues early.
➢ It respects the developer’s
➢ At least once daily, but it can balance of work and life.
be much more frequent
➢ At crunch time, up to one
➢ Tests are written before week of overtime is allowed
integration.
➢ Multiple weeks of overtime
➢ The tests can also be run would be a sign of poor
frequently to highlight management or estimation
unforeseen issues

63

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


11: On-Site 12: Coding
Click to edit Master title style
Customer Standards

➢ The client is situated near the ➢ Coding standard that specifies


development team throughout conventions on code style,
the project formatting, and usage.
➢ Helps to clarify and answer ➢ This makes the code easier to
questions for effective read, and it encourages the
development practice of collective ownership.

64

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Click to Drawbacks of XP
edit Master title style

➢ XP is suited for small development teams


➢ Client available on-site may not be possible in all cases
➢ XP does not offer practices to define the architectural
design of the software
➢ Lack of defect documentation may lead to the occurrence of
similar bugs in the future.

65

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


AgiletoProject
Click Management-
edit Master title style SCRUM

• Scrum is an Agile methodology consisting of lightweight


management practices
• Scrum uses an approach that is both iterative and incremental
• Scrum is based on three pillars:
➢Transparency
➢Inspection
➢Adaptation

66

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Click to SCRUM roles
edit Master title style

➢ Scrum Master ensures the team adheres


scrum practices
➢ Scrum Master assists product owner and
team
➢ The product owner determines the priorities
and requirements techniques.
➢ Product owner guides the team.
➢ The client could not be the product owner if
inexperienced.
➢ The software product manager or team lead
may serve as the Scrum Master role.
67

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru


Click to Scrum Management
edit Master title style Process
Phase 1 :General objectives are Phase 3 :Wrap up the project with
outlined with design and complete documentation for help
architecture frame and user manuals
Assess Select

Outline Project
Planning Review Develop
Closure

Phase 2 :Series of Sprint


• Sprint is development period in
fixed time
• Each series /cycle develops an
incremented system
68

Ms.K.Keerthika AP/CS – Amrita Vishwa Vidyapeetham, Mysuru

You might also like