Software Specification

Share:
What is a Specification?

• Operational, Diagramatic Specifications

- Data Flow Diagrams, Finite State Machines, Petri Nets,

Entity Relationship Diagrams

- UML Diagrams

- Mathematical Specifications

- Simulating models

- Declarative Specifications

• Logic-Based Notations

• Algebraic Notations

- Languages for modular specifications

• Statecharts and Z


What is a specification?

• Specification is a broad term

- Used at various software levels

Different purposes.

- Declaration of Agreement between

• Manufacturers and customers of a service

• Implementers and users

- All desirable qualities need to

specified


What is a specification?

• Specification can be done in different things and in the party

Interested parties such as: (user, projector,

Managers, etc.)

• Specification of requirements:

- Agreement between users and projectors

• Project Specification:

- Agreement between designers and developers.

• Module specification:

- Agreement between SEs using a module and SEs

Implementing a module interface.

• Specification includes "What"

• Implementation includes "How"


Use of specifications

• User needs statement

• Critical Issues

- The user needs may not be understood by

developer.

- Need to verify the specifications.

• Dealing with problems

- Undesirable effects can be severe

Due to misunderstandings between engineers and

Experts Software \


Styles of specifications

• Informal: natural language, Spec Visio / PPT,

Figure, Table, etc.

• Formal: connects to syntax and semantics

- Advantages :

• It may include many formal verifications

• Can Support Automatic Processing

• Includes the use of mathematical models

- Disadvantages :

• Formal specifications are not widely used

• Staff training

• Semi-Formal: Sematic not precise


Specific styles

• Operational

- Describes Desired System Behaviors

- Usually provides a Model Behavior System

- Verified by prototyping

descriptive

- Describes the desirable advantages of the system

- Declarative Specification

- Usually uses mathematical equations

• Both together ...

DATA FLOW DIAGRAMS

Flow charts Data (DFD)

SYSTEM ANALYSIS

• Focuses on a logical system view

And not physical.

• "What" system does not perform as well

• Tools:

- data flow diagrams (DFDs)

- data dictionary (DD)

- specification of the process

- relationship diagrams

Between entities


Data Flow Diagram (DFD)

"A network layout of the system. The system can

Automated, manual or mixed.

DFD describes the system in terms or parts

Component with all interfaces. "

- Tom DeMarco

Therefore DFDs:

Focuses on the data movement between them

External entities and processes and

Between processes and data storage


Data Flow Diagram (DFD) Shows a figure of what people are doing

And procedures transform data into information.

• DFD is composed of four elements .:

- External entity ... source (source) or receiver I

Information (sink)

- The process ... a series of steps to manipulate the data.

Data Guardian ... a place where it is given

Reference for later.

- Data flow ... depicts data and elements

Of information passing between external entities,

Processes and data storage.


Example Data Flow  diagram

Data Flow Diagrams are:

• Used to perform the analysis

Structural to determine the requirements

logic .

• A graphic tool, usable for

Sharing between users,

Managers and other personnel.

• Usable for existing analysis

• A simple technique to learn as well used.


Sources / Sinks (hole)   
(External entities.)

• Every class with people, one

Organization, or another system

Which exists outside the system that

We are studying.

• Forms the boundaries of the system.

• The system and external entities

They exchange the data in us

It forms the darkness of it

Data.

• These entities should have one

name
The flow of data

• Moving data

• marks the movement of data through the system -

Of a pipeline to perform the data

• Connects processes, external entities and storage

Of the data.

• One direction

• No leakage control


Processes

• Transform incoming flow

Of the ongoing data

Out.

• Presented by a circle

• Example name combination

VERB / OBJECT examples:

create_exception_report

validate_input_characters

calculate_discount

Data retention

• Data for the rest

• Zone that holds data, processes.

• Appointed

• Only processes are related to

Storage of data.

• Only the launch of the

Data storage and process .per

Example when accessing a DBMS,

Only the flow of

Non-recurring result.

No comments