THE ELEMENTS OF THE ANALYSIS MODEL
The analysis model must achieve three primary objectives to describe what the customer requires to
establish a basis for the creation of a software design, and to define a set of requirements that can be
validated once the software is built. To accomplish these objectives, the analysis model derived
during structured analysis takes the form illustrated in the following Figure:
At the core of the model lies the data dictionary, a repository that contains descriptions of all data
objects consumed or produced by the software. Three different diagrams surround the core. The
entity relation diagram (ERD) depicts relationships between data objects. The ERD is the notation that
is used to conduct the data modeling activity. The attributes of each data object noted in the ERD can
be described using a data object description.
The data flow diagram (DFD) serves two purposes:
to provide an indication of how data are transformed as they move through the system, and
to depict the functions (and subfunctions) that transform the data flow.
The DFD provides additional information that is used during the analysis of the information domain
and serves as a basis for the modeling of function.
A description of each function presented in the DFD is contained in a process specification (PSPEC).
The state transition diagram (STD) indicates how the system behaves as a consequence of external
events.
To accomplish this, the STD represents the various modes of behavior (called states) of the system
and the manner in which transitions are made from state to state. The STD serves as the basis for
behavioral modeling. Additional information about the control aspects of the software is contained in
the control specification (CSPEC).
DFD is an elegant modelling technique:
– Useful not only to represent the results of structured analysis.
– Applicable to other areas also:
● e.g. for showing the flow of documents or items in an organization,
● DFD technique is very popular:
– It is powerful and yet simple to understand and use.
A DFD model:
– Uses limited types of symbols.
– Simple set of rules
– Easy to understand:
● It is a hierarchical graphical model.
– Shows the different functions (or processes) of the system and
– Data interchange among the processes.
It is useful to consider each function as a processing station:
– Each function consumes some input data.
– Produces some output data.
Primitive Symbols Used for Constructing DFDs:
EXTERNAL ENTITY SYMBOL
Represented by a rectangle
● External entities are real physical entities:
– input data to the system or
– consume data produced by the system.
– Sometimes external entities are called terminator, source, or sink.
PROCESS OR FUNCTION SYMBOL
A function such as “search-book” is represented using a circle:
– This symbol is called a
process or bubble or transform.
– Bubbles are annotated with corresponding function names.
– Functions represent some activity:
● Function names should be verbs.
DATA FLOW SYMBOL:
A directed arc or line.
– Represents data flow in the direction of the arrow.
– Data flow symbols are annotated with names of data they carry.
DATA STORE SYMBOL:
Represents a logical file:
– A logical file can be:
● a data structure
● a physical file on disk.
– Each data store is connected to a process:
● By means of a data flow symbol.
How is Structured Analysis Performed?
Initially represent the software at the most abstract level:
– Called the Context Diagram.
– The entire system is represented as a single bubble,
– This bubble is labelled according to the main function of the system.
● Establishes the context of the system
–Represents:
● Data sources
● Data sinks.
CONTEXT DIAGRAM
A context diagram shows:
– Data input to the system,
– Output data generated by the system,
– External entities.
● Context diagram captures:
– Various entities external to the system and interacting with it.
– Data flow occurring between the system and the external entities.
● This diagram is also called as the Level 0 DFD.
Level 1 DFD
Examine the SRS document:
– Represent each high-level function as a bubble.
– Represent data input to every highlevel function.
– Represent data output from every high-level function.
HIGHER LEVEL DFDS
Each high-level function is separately decomposed into subfunctions:
– Identify the subfunctions of the function
– Identify the data input to each subfunction
– Identify the data output from each subfunction
● These are represented as DFDs.
DECOMPOSITION
Decomposition of a bubble:
– Also called factoring or exploding.
● Each bubble is decomposed to
– Between 3 to 7 bubbles.
● Too few bubbles make decomposition superfluous:
–If a bubble is decomposed to just one or two bubbles:
● Then this decomposition is redundant.
Too many bubbles:
– More than 7 bubbles at any level of a DFD.
– Make the DFD model hard to understand.
Decompose How Long?
● Decomposition of a bubble should be carried on until:
– A level at which the function of the bubble can be described using a simple algorithm.
Example 1: RMS Calculating Software
Consider a software called RMS calculating software:
– Reads three integers in the range of -1000 and +1000
– Finds out the root mean square (rms) of the three input numbers
– Displays the result.
The context diagram of RMS S/W
–The system accepts 3 integers from the user
–Returns the result to him.
● From a quick analysis of the problem description:
– We can see that the system needs to perform several things.
Analysis of RMS S/W
Accept input numbers from the user:
– Validate the numbers,
– Calculate the root mean square of the input numbers
– Display the result.
Next level RMS S/W
Data Flow Diagramming Definitions
1.Context Diagram
A data flow diagram (DFD) of the scope of an organizational system that shows the system boundaries,
external entities that interact with the system and the major information flows between the entities
and the system
2.Level-O Diagram
A data flow diagram (DFD) that represents a system’s major processes, data flows and data stores at a
high level of detail
Developing DFDs: An Example
1.Hoosier Burger’s automated food ordering system
2.Context Diagram (Figure 8-4) contains no data stores
3.Next step is to expand the context diagram to show the breakdown of processes (Figure 8-5)
Data Flow Diagramming Rules
Basic rules that apply to all DFDs
Inputs to a process are always different than outputs
Objects always have a unique name
In order to keep the diagram uncluttered, you can repeat data stores and sources/sinks on a diagram
Process
No process can have only outputs (a miracle)
No process can have only inputs (black hole)
A process has a verb phrase label
Data Store
Data cannot be moved directly from one store to another
Data cannot move directly from an outside source to a data store
Data cannot move directly from a data store to a data sink
Data store has a noun phrase label
Source/Sink
Data cannot move directly from a source to a sink
A source/sink has a noun phrase label
Data Flow
A data flow has only one direction of flow between symbols
A fork means that exactly the same data goes from a common location to two or more processes,
data stores or sources/sinks
Data Flow (Continued)
L.A join means that exactly the same data comes from any two or more different processes, data
stores or sources/sinks to a common location
M.A data flow cannot go directly back to the same process it leaves
N.A data flow to a data store means update
O.A data flow from a data store means retrieve or use
P.A data flow has a noun phrase label
Functional decomposition
Act of going from one single system to many component processes
Repetitive procedure
Lowest level is called a primitive DFD
Level-N Diagrams
A DFD that is the result of n nested decompositions of a series of subprocesses from a process on a
level-0 diagram
STRUCTURE CHART
Decision trees:
-edges of a decision tree represent conditions
-leaf nodes represent actions to be performed.
A decision tree gives a graphic view of:
-logic involved in decision making
-corresponding actions taken.
A Library Membership automation Software (LMS) should support the following three options:
-new member,
-Renewal,
-cancel membership.
-When the new member option is selected,
the software asks details about the member:
name, address, phone number, etc.
If proper information is entered,
-a membership record for the member is created
-a bill is printed for the annual membership charge plus the security deposit payable.
If the renewal option is chosen,
-LMS asks the member's name and his membership number (checks whether he is a valid member.)
If the name represents a valid member,
-the membership expiry date is updated and the annual membership bill is printed, (otherwise an
error message is displayed.)
If the cancel membership option is selected and the name of a valid member is entered,
-the membership is cancelled,
-a cheque for the balance amount due to the member is printed
-the membership record is deleted.
A decision table shows in a tabular form:
processing logic and corresponding actions
1.Upper rows of the table specify:
the variables or conditions to be evaluated
2.Lower rows specify:
the actions to be taken when the corresponding conditions are satisfied.
3.Decision tables specify:
-which variables are to be tested
-what actions are to be taken if the conditions are true,
-the order in which decision making is performed.
In technical terminology,
a column of the table is called a rule:
A rule implies:
if a condition is true, then execute the corresponding action.
DECISION TABLES
-Used to lay out in tabular form all possible situations which a decision may encounter and to specify
which action to take in each of these situations.
-A matrix representation of the logic of a decision
-Specifies the possible conditions and the resulting actions
Decision Table
A decision table is a tabular form that presents a set of conditions and their corresponding actions.
Condition Stubs
Condition stubs describe the conditions or factors that will affect the decision or policy.
They are listed in the upper section of the decision table.
Action Stubs
Action stubs describe, in the form of statements, the possible policy actions or decisions.
They are listed in the lower section of the decision table.
Rules
Rules describe which actions are to be taken under a specific combination of conditions.
They are specified by first inserting different combinations of condition attribute values and then
putting X's in the appropriate columns of the action section of the table.
Decision Table Methodology
1. Identify Conditions & Values
Find the data attribute each condition tests and all of the attribute's values.
2. Compute Max Number of Rules
Multiply the number of values for each condition data attribute by each other.
3. Identify Possible Actions
Determine each independent action to be taken for the decision or policy.
4. Enter All Possible Rules
Fill in the values of the condition data attributes in each numbered rule column.
5. Define Actions for each Rule
For each rule, mark the appropriate actions with an X in the decision table.
6. Verify the Policy
Review completed decision table with end-users.
7. Simplify the Table
Eliminate and/or consolidate rules to reduce the number of columns.
DATA DICTIONARY
A data dictionary, as defined in the IBM Dictionary of Computing, is a "centralized repository of
information about data such as meaning, relationships to other data, origin, usage, and format.”
The term may have one of several closely related meanings pertaining to databases and database
management systems (DBMS):
-a document describing a database or collection of databases
-an integral component of a DBMS that is required to determine its structure
-a piece of middleware that extends or supplants the native data dictionary of a DBMS
A DFD is always accompanied by a data dictionary.
● A data dictionary lists all data items appearing in a DFD:
– Definition of all composite data items in terms of their component data items.
– All data names along with the purpose of the data items.
● For example, a data dictionary entry may be:
– grossPay = regularPay+overtimePay
Importance of Data Dictionary
Provides all engineers in a project with
standard terminology for all data:
– A consistent vocabulary for data is very important
– Different engineers tend to use different terms to refer to the same data,
● Causes unnecessary confusion.
Data dictionary provides the definition of different data:
– In terms of their component elements.
● For large systems,
– The data dictionary grows rapidly in size and complexity.
– Typical projects can have thousands of data dictionary entries.
– It is extremely difficult to maintain such a dictionary manually.
DATA DICTIONARY
CASE (Computer Aided Software Engineering) tools come handy:
– CASE tools capture the data items appearing in a DFD automatically to generate the data dictionary.
● CASE tools support queries:
– About definition and usage of data items.
● For example, queries may be made to find:
– Which data item affects which processes,
– A process affects which data items,
– The definition and usage of specific data items, etc.
● Query handling is facilitated:
– If data dictionary is stored in a relational database management system (RDBMS).
DATA DEFINITION
Composite data are defined in terms of primitive data items using following operators:
● +: denotes composition of data items, e.g
– a+b represents data a and b.
● [,,,]: represents selection,
– i.e. any one of the data items listed inside the square bracket can occur.
– For example, [a,b] represents either a occurs or b occurs.
●( ): contents inside the bracket represent optional data
– which may or may not appear.
– a+(b) represents either a or a+b occurs.
● { }: represents iterative data definition,
– e.g. {name}5 represents five name data.
{name}* represents
– zero or more instances of name data.
● = represents equivalence,
– e.g. a=b+c means that a represents b and c.
● * *: Anything appearing within * * is considered as comment.
Succeeding as a Systems Analyst
LEARNING OBJECTIVES
1.Discuss the analytical skills, including systems thinking needed for a systems analyst to be successful
2.Describe the technical skills required of a systems analyst
3.Discuss the management skills required of a systems analyst
4.Identify the interpersonal skills required of a systems analyst
5.Describe the systems analysis profession
Analytical Skills for Systems Analysis
Four Sets of Analytical Skills
-Systems Thinking
-Organizational Knowledge
-Problem Identification
-Problem Analyzing and Solving
SYSTEM THINKING
System
-A system is an interrelated set of business procedures used within one business unit working
together for a purpose.
-A system has nine characteristics.
-A system exists within an environment.
-A boundary separates a system from its environment.
System Characteristics
1.Components
2.Interrelated Components
3.Boundary
4.Purpose
5.Environment
6.Interfaces
7.Input
8.Output
9.Constraints
Important System Concepts
Decomposition
-The process of breaking down a system into smaller components
-Allows the systems analyst to:
Break a system into small, manageable subsystems
Focus on one area at a time
Concentrate on component relevant to one group of users
Build different components at independent times
Modularity
-Process of dividing a system into modules of a relatively uniform size
-Modules simplify system design
Coupling
-Subsystems that are dependent upon each other are coupled
Cohesion
-Extent to which a subsystem performs a single function
SYSTEM THINKING
Logical System Description
-Represents the purpose and function of the system
-Does not tie the description to a specific physical implementation
Physical System Description
-Focuses on how the system will be materially constructed
Benefits
-Identification of a system leads to abstraction
-From abstraction you can think about essential characteristics of specific system
-Abstraction allows analyst to gain insights into specific system, to question assumptions, provide
documentation and manipulate the system without disrupting the real situation
Applying Systems Thinking to Information Systems
-Information systems are subsystems in larger organizational systems
-Data flow diagrams represent information systems as systems
-Inputs
-Outputs
-System boundaries
-Environment
-Subsystems
-Interrelationships
Organizational Knowledge
-Understanding of how organizations work
-Knowledge of specific functions and procedures of organization and department
-How work officially gets done
-Internal policies
-Competitive and Regulatory Environment
-Organizational Strategies and Tactics
Problem Identification
-Problem: Difference between an existing situation and a desired situation
-Identification is process of defining differences
-Differences are defined by comparing the current situation to the output of a model that predicts
what the output should be
Problem Analyzing and Solving
Four Phases
1.Intelligence: All relevant information is collected
2.Design: Alternatives are formulated
3.Choice: Best alternative solution is chosen
4.Implementation: Solution is put into practice
Technical Skills for Systems Analysis
-Constant re-education is necessary as technology changes rapidly
-Activities to keep skills up-to-date
Trade publications
Professional societies
Attend classes or teach at a local college
Attend courses sponsored by organization
Conferences and trade shows
Browse Websites
Participate in new groups and conferences
-Understanding of a wide variety of technologies is required
Microcomputers, workstations, minicomputers and mainframe computers
Programming languages
Operating systems
Database and file management systems
Data communication standards
Systems development tools and environments
Web development languages and tools
Decision support system generators
Management Skills for Systems Analysis
Four categories
1.Resource Management
2.Project Management
3.Risk Management
4.Change Management
Resource Management
-Systems analyst needs to know how to get the most out of the resources of an organization,
including team members
-Includes the following capabilities
Predicting resource usage
Tracking resource consumption
Effective use of resources
Evaluation of resource quality
Securing resources from abusive use
Relinquishing resources when no longer needed
Project Management
-Two Goals
Prevent projects from coming in late
Prevent projects from going over budget
-Assists management in keeping track of project’s progress
-Consists of several steps
Decomposing project into independent tasks
Determining relationships between tasks
Risk Management
-Ability to anticipate what might go wrong in a project
-Minimize risk and/or minimize damage that might result
-Placement of resources
-Prioritization of activities to achieve greatest gain
Change Management
-Ability to assist people in making transition to new system
-Ability to deal with technical issues related to change
Obsolescence
Reusability
Interpersonal Skills for Systems Analysis
-Mastery of interpersonal skills is paramount to success as a Systems Analyst
-Four types of skills:
1.Communication skills
2.Working alone and with a team
3.Facilitating groups
4.Managing expectations
Communication Skills
-Effective communication helps to establish and maintain good working relationships with
clients and colleagues
-Skills improve with experience
-Three types used by Systems Analyst
Interviewing and Listening
Questionnaires
Written and Oral Presentations
Interviewing and Listening
Means to gather information about a project
Listening to answers is just as important as asking questions
Effective listening leads to understanding of problem and generates additional questions
Questionnaires
Advantages:
Less costly than interviews
Results are less biased due to standardization
Disadvantages
Less effective than interviews due to lack of follow-up
Written and Oral Presentations
-Used to document progress of project and communicate this to others
-Communication takes several forms:
Meeting agenda
Meeting minutes
Interview summaries
Project schedules and descriptions
Memoranda requesting information
Requests for proposals from vendors and contractors
Oral presentations
Steps to Improving Communication Skills
1.Practice
Conduct a training class.
Volunteer to speak
2.Videotape presentation and do a self-appraisal of your skills
3.Make use of college writing centers
4.Take classes on business and technical writing
Working Alone and with a Team
-Working alone on aspects of project involves managing:
Time
Commitments
Deadlines
-Team work involves establishing standards of cooperation and coordination
Facilitating Groups
1.Involves guiding a group without being a part of the group
2.Useful skill for sessions such as Joint Application Development (JAD)
3.Guidelines for running a successful meeting
Managing Expectations
-Managing expectations is directly related to successful system implementation
-Skills for successful expectation management
Understanding of technology and workflows
Ability to communicate a realistic picture of new system to users
Effective education of management and users throughout systems development life
cycle
Systems Analysis as a Profession
-Standards have been established for education, training, certification and practice
-Several aspects:
Standards of Practice
Ethics
Career Paths
Standards of Practice
Endorsed Development Methodology
Specific procedures and techniques to be used during development process
Promote consistency and reliability across all of an organization’s development projects
Approved Development Platforms
Organizations standardize around a specific platform, sometimes tied to development
methodology
Standardization of Roles
Roles are becoming better defined across organizations
Development of a Common Language
Common programming languages
Common modeling languages, such as Unified Modeling Language (UML)
Ethics
1.Professional Ethics
2.Business Ethics
Stockholder approach
Any action taken by a business is acceptable as long as it is legal and maximizes stockholder
profit
Stakeholder approach
Any action that violates rights of stakeholder must be rejected
Social Contract approach
Any action that is deceptive, can dehumanize employees or that could discriminate is
rejected
Career Paths
1.Consulting
2.Information Systems within a large corporation
3.Software vendors
4.Other opportunities outside of systems analysis
Summary: Skills of Successful Systems Analyst
Analytical
Systems Thinking
Technical
Change over time
Programming Languages
Operating Systems
Database Management Systems
Data Communications
Management
Resources
Projects
Risk
Change
Interpersonal
Interviews and Questionnaires
Written and Oral Presentations
Facilitating Groups
Systems Analysis as a Career
Standards of Practice
Ethics
Career Paths
Trading-House-Automation-System
LEVEL 1 DFD