Software Specification Tools

  • Uploaded by: Jenny Rose G. Sison
  • 0
  • 0
  • October 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Software Specification Tools as PDF for free.

More details

  • Words: 4,775
  • Pages: 18
Lesson 5

SOFTWARE SPECIFICATION TOOLS

C

ASE tools turn traditional systems approaches upside down. The set of software known as CASE – for computer-aided software engineering – tools goes beyond the concept of prototyping and has become a significant factor in the development of systems. CASE tools provide an automated means of designing and changing systems. In fact, integrated CASE tools can automate most of the systems development life cycle. CASE software is available for personal computers. The systems analyst can produce designs right on the computer screen. Thus, a key ingredient of a package of CASE tools is a graphics interface. What is more, that screen is usually part of a personal computer. Other important CASE ingredients are a data store – often called a data dictionary or even an encyclopedia – and the ability to generate a program automatically, right from the design. CASE tools, however, are not cure-alls. To begin with, they really only have value for new systems; an estimated 80 percent of computer organization time is devoted to the maintenance of existing systems. Also, CASE standards have not been established, and the result is a hodgepodge of methodologies from a variety of vendors. Keep in mind, also, that no CASE tool, or any other tool, will help if you do not know what you are doing. Good tools do not necessarily create good systems.

Data Dictionary

In the early 1970s system analysts realized that they needed more systematic and logical methods of describing systems. The proliferation of computers and the collection of large amounts of information in databases often led to a great deal of confusion and inconsistency. For example, several different departments in a company might collect the same type of data. When these databases were merged, inconsistencies in style and content of data fields became obvious. One department might put last names first on employee or customer records, while another department entered first names first. This made sorting and merging files very difficult. The problem was further complicated by the number of reports generated by the system and the number of online terminals that retrieved or displayed information. Clearly what was needed was a more logical

Lesson 5: Software Specification Tools _____________________________________________________________

41

way if structuring data, this led to the development of the data dictionary. It is a composite collection of specifications about the nature of data and information. It is repository of descriptions of the form, style, and content of data as well as of the methods that will be used to process and report it.

The data dictionary is the foundation of structure systems analysis. It provides the standards and uniform format by which all elements or parts of a system are designed and coordinated. It places all information in a structure or hierarchy. At the top of the hierarchy is the data element, the data element is the smallest unit of a data that will be processed or become part of a record. Examples of data elements include dates, employee names and gross pay. Rules for editing information or length of a field for example are characteristics maintained on the data elements within a data dictionary. These data elements are used as a universal guide throughout the system when information is referred or processed. The data dictionary is much like a printed dictionary, which provides standards for spelling, hyphenation and so forth. Below data elements on the hierarchy are data records. A data record is a collection of elements, such as names, addresses or sequences of records, treated as a unit. This means that records will be treated consistently throughout the system. Next on the hierarchy are the data stores, data model entities and data flows. Data store describes the files that hold data, data model entities define what records and elements will be treated as a unit and data flows specify pathways for moving information. The dictionary may also include standard tables of codes or words and their meanings, as well as alternative names or definitions. For example, EMPLOYEE, NUMBER and SERIAL NUMBER might be equated and both might reference an employee’s identification number.

Software Project Management _________________________________________________________________

___________________________________________________ Software Engineering: A Computer Science Approach

ELEMENT

EMS PART PRICE

Alternate Names

EMS SELLING PRICE

Definition

Price charged to the customer for a part.

Input Picture Output Picture Edit Rules

999.99 999.99

Storage Type Characters left of decimal 3 Prompt Column Header Short Header Base or Derived Data Class Source Default

C Characters right of decimal PRICE PART PRICE PRICE D AMOUNT MASTER PRICE LIST

2

Data Dictionary entry

42

This figure illustrates an order entry system data dictionary entry.

Documentation Report Writer

Graphics

Screen Design

Entity List

Data

Graph Analysis

XLDictionary

dictionary

Report Design

_________________________________________________________________ Software Project overview Management Screen Data Screen Data Entity Reporting

The dictionary is the central repository for all system data.

XLDictionary

Lesson 5: Software Specification Tools _____________________________________________________________

The existence of a data dictionary unifies a system and develops consistency. The dictionary can contain uniform screen displays or standards output reports. It provides a common denominator wherein all reports, data gathering, processing, output functions, input screens and storage files can be integrated.

Data Element

Data Record

Data hierarchy A data dictionary places all information in a hierarchical structure.

Data Model Entity

Data Stores

Data Flows

For many decades, systems designers have relied upon various traditional tools to illustrate the flow of information throughout a system. These include Gantt Charts, Systems Flowcharts and Decision Tables.

43 The Gantt Chart In the early years of the century systems analysts were often called efficiency experts. They sought to documents diagram systems so they could improve operations. In 1914 one of these efficiency experts Henry L. Gantt introduces a scheduling chart that later became known as a Gantt Chart. It is a fundamental planning tool of the analyst. Down the left-hand column are listed the tasks or activities to be performed. The right-hand portion of the chart has horizontal bars that show the duration of each activity. If a complex task is broken down into several sub-tasks, Software Project Management _________________________________________________________________

___________________________________________________ Software Engineering: A Computer Science Approach

The chart marks off time periods in days, weeks or months. Thus we can see at a glance what activities are to be performed, when each begins, and when each terminates. But much like a calendar the Gantt Chart is based upon time intervals and does not show the logical flow of information throughout a system. However, it remains a useful tool for documenting systems work.

Gantt CHART

Planning Problem Definition System Analysis Interviews Direct Observation System Design Prototype Terminals Output Design File Design System Development Select Vendors Train Staff Prepare Documentation System Implementation Changeover System Evaluation

The chart shows when activities begin 0 1 2and3 end. 4 5 6 7 8 9 10 11 12 13 14

TIME IN WEEKS/MONTHS

Decision Trees

Systems analysts are often faced with documenting complex systems that involve making many decisions. The decision tree is a tool that is particularly well suited for illustrating such systems. It is read from left to right, showing decision to be made. Tasks such as granting credit, approving a purchase or handling customer complaints, which involve making decisions, can be illustrated on this type of chart. Decision trees sometimes include numbers that express the probability of an event at each decision. One course of action may have a 30 percent probability of occurring and another 70 percent. By placing values at each juncture, an analyst can better assess the overall probability of certain events taking place. Prepare Invoice Goods in stock

How to Ship?

Yes No

Manufacture Goods Yes

Air Freight Truck Customer Pickup Prepare Invoice

_________________________________________________________________ Software Project Decision Raw Materials Management No

tree

The tree is read from left to right.

Available?

Order Raw Manufacture Materials Goods

44

Lesson 5: Software Specification Tools _____________________________________________________________

Decision Tables Systems Analysts often use a design diagram known as decision table. Decision tables are charts in the form of matrices that graphically display conditions, options and alternatives to be dealt with when making business decisions. A decision table is composed of several parts. The condition stub lists all possible conditions that could arise in making a decision. The action stub lists all possible actions that may be taken. The condition entry lists all possible combinations of conditions that may occur and the action entry describes what actions will be followed for each set of conditions. The entry sections are lined off in vertical columns called rules. Each rule specifies what actions are to be taken for each set of conditions.

Decision table Parts of Decision Table: Condition, Stub, Condition Entry, Action Stub and Action Entry.

Condition Stub

Condition Entry

Action Stub

Action Entry

Figure above illustrates a decision table used in an order-processing system. It defines the various ways to handle orders for items that are low in stock. The analysts begins by completing the upper left quadrant, the condition stub, listing a variety of conditions such as supply out of stock, supply adequate and item discontinued. Next the analyst completes the lower left quadrant, the action stub listing the possible actions that may be taken. For instance a stock pick order a purchase requisition or an invoice may be prepared.

45

Then the analyst prepares a group of rules. In our example there are 17 rules indicating that 17 combinations of conditions can occur. The rules are constructed with Yes and No marked in the upper right quadrant of the decision table Y means that the condition is present, N that the condition is absent and a blank that the condition is not applicable. Each rule has a unique set of Y’s and N’s. The lower right section, the action entry is completed last. Action entries define which actions will be taken in light of each rule. The analyst enters an x, meaning that those actions are to be taken in Software Project Management _________________________________________________________________

___________________________________________________ Software Engineering: A Computer Science Approach

every instance where a given set of conditions occur. To illustrate in rule 1 a pick order is to be written and an invoice prepared whenever there is an adequate supply of goods and the item is not disconnected. Decision tables enable the analyst to layout a complex variety of conditions and to specify how each set of conditions should be handled. The rules developed in a decision table can be used as a basis of procedures manual for employees, to teach them how to handle various situations and to ensure consistent treatment. Decision tables are also used when designing computer programs. They describe all possible options in a problem and the specifications that the computer must execute for each set of conditions.

RULES

Supply-adequate Supply-below minimum Supply-out of stock Item discontinued Purchase requisition made Old account Large order Sale item Write pick order Made purchase requisition Cancel order Write order confirmation Prepare invoice

1 Y N N N

2 N Y N N Y Y Y N

3 N Y N N N Y Y N

X

4 N Y N N Y Y Y Y X

X X X

5 N Y N N N Y Y Y X X

6 N Y N N Y Y N

7 N Y N N N Y N

X

X X

X

X

X

8 N Y N N Y N Y

X

1 0 N Y N N Y N N Y

X X

X

9 N Y N N N N Y

X

1 1 N Y N N N N N Y

1 2 N Y N N Y N N N X

X X

1 3 N Y N N N N N N X X

X X

1 4 N Y Y N Y

1 5 N Y Y N N

X

X X X

1 6 N Y Y Y

X

X

Decision table example A decision table that might be used in an orderprocessing system. Decision tables have several advantages they lessen the possibility of omitting essential elements and ensure that a given set of conditions will be handled consistently. They are easier to understand than lengthy verbal descriptions of choices. As do other tools they require the analyst to refine his/her thinking and to clarify details. The decision table cannot be completed until the analyst has explicitly defined all the conditions and actions involved.

_________________________________________________________________ Software Project Management

1 7 N Y N

X

Lesson 5: Software Specification Tools _____________________________________________________________

Flowcharts Flowcharts as punched cards and unit records equipment came into use in 1940’s system designers found it necessary to describe and define systems in mew ways. This led to the development of the flowchart as a major means of documenting information flow. The flowchart was widely used as a design tool until 1970s when it lost popularity to some of the newer structured tools.

46

It is a graphical representation of the steps in the solution of a problem, in which symbols represent operations, data flow, hardware and the system plan. It can document either business systems or computer programs. System flowchart diagrams illustrate the movement of data in an organization. They show the sequence of steps through which information moves, including related personnel, workstations, forms, records, processing, and associated activities. The system analyst uses program flowcharts when working with computer programs. Program flowcharts show the sequence of steps performed in a computer program. System flowcharts document the overall system, while program flowcharts deal with the information flow through the computer. The American National Standards Institute (ANSI) has approved a standard set of symbols for drawing these flowcharts. Time Cards

Verif y Time Card

Enter Payroll Transactions Payroll Master File Compute Payroll Using Computer

flowchart A graphic representation of the information flow in a Software Project Management system.

Print Payroll Register

Print Paychecks

_________________________________________________________________

___________________________________________________ Software Engineering: A Computer Science Approach

Structured Design Tools Much experimentation and research has gone into developing new graphic and visual tools for designing and documenting systems. During the past decade these structure tools have become widely used by analysts and are rapidly replacing the traditional design tools, such as flowcharts and decision tables. Structured design tools emphasize the visual or graphic nature of a problem. It emphasizes the logical flow of information rather than physical manipulation. Unstructured or traditional design tools describe systems in terms of written narratives or sequential diagrams that emphasize sequence and physical handling rather than the logical flow throughout a system. They break systems down into elements, known as modules. A module is one component of a system.

47

Data Flow Diagrams

The data flow diagram is used as a system-modeling tool because of its great utility. It is a graphical illustration that shows the flow of data and logic within a system. Below is a data flow diagram containing a group of symbols that are linked together with lines. The shape of the symbol indicates to the analyst that a specific operation is performed. The arrows that connect the symbols show the direction in which data flows. Descriptive labels are usually placed within each symbol or next to the connecting lines to further describe the flow and transformation of data.

Data Flow diagram Symbols are connected to show the flow of data through a system. _________________________________________________________________ Software Project Management

Lesson 5: Software Specification Tools _____________________________________________________________

The detail and complexity of a data flow diagram varies with the system being described. As you work with systems, you will find yourself continually relying upon diagrams such as these to show points where data originates, is processed or transformed and is output. Data flow diagram is composed of four basic symbols. There are no ANSI standards for data flow diagram symbols. One widely used convention adheres to symbols developed by Edward Yourdon; a similar notation has been developed by Chris Gane and Trish Sarson. Yourdon uses a circle for a process while Gane and Sarson use a rectangle with rounded corners. Yourdon’s data store symbol is a rectangle open at each end. Gane and Sarson show a data store as a rectangle closed at one end. We shall use the Gane and Sarson notation in our examples.

48

External Entity

External entity is a square box that specifies either the source or the destination of data. It shows where data originates outside s system or where it will be transmitted after processing always outside the system. It is sometimes called sources and sinks. A source is a point outside the system that generates data. A sink is a point outside the system that receives data. Both are external entities drawn as square boxes.

Example: In a small retail establishments. Checks are received from customers and orders come in the mail. These are sources. Bills are sent to customers, goods are shipped with invoices, and reports are sent to government agencies. These are sinks. These sources and sinks are common examples of external entities, because the represent movement of data and information into and out of a system.

1.5 Process

The process symbol is drawn as a rectangle with rounded corners. It represents the transformation or processing of information within a system. The process symbol shows those places in a system where calculations are made or where information is changed in

character. Examples of processing in our small retail example include computing payroll, calculating profit and computing sums, such as in the preparation of a customer invoice or bank deposit. The top of the process box is usually rule off, leaving space to enter a reference number. The reference number is used to key more detailed data flow diagrams to the box. Data store is a point in a system where information is permanently or temporarily stored or held. It is shown as a rectangle with one end open. The left side of the box may be ruled off to enter a reference number, which keys the box to other diagrams. Data may be stored 1.7

Software Project Management _________________________________________________________________

___________________________________________________ Software Engineering: A Computer Science Approach

on filling cards, ledger sheets, floppy disks, or even on the check stubs in a checkbook. While stored, the information remains intact and is not changed or modified in any way.

Flowline

Information flowlines, sometimes called pipes or vectors, connect external entities, process and data store elements.

These lines always drawn with an arrowhead trace the flow of information throughout the system. Information flow may be oneway or two-way. One or two arrows are drawn between boxes to show which way the information flows.

Context Diagrams

It is often helpful to illustrate systems using a broad-brush, undifferentiated data flow figure known as a context diagram. The context diagram shows the entire system as one general element. It is the most overall view we can obtain of a system. All sources and sinks of data are linked to this one entity, using flow lines or pipes.

49

The figure below shows a system used to process orders in a manufacturing company. One process symbol, labeled “order system” includes all steps in the process. External entities such as customers, billing department and shipping department are connected to the system. Note that the process symbol is drawn using an approved shape; a rectangle with rounded corners and the external entities are drawn using square-shaped symbols. Flow lines or pipes connect each element in the diagram and each is labeled 1 accordingly. Context diagrams are valuable because they show only major items with a minimum of details that might confuse or cloud the bird’s-eye view of the system.

Order Customer

0

Context diagram This diagram shows an order system in its most generalized

2 Shipping Dept.

Order System 2

Bill Request

Billing Dept.

2

Ship Request Ship Confirm

3 3 3 3 _________________________________________________________________ Software Project Management 3

Lesson 5: Software Specification Tools _____________________________________________________________

exploded diagram Each succeeding level of the diagram shows a greater amount

50 Let’s put the concepts and symbols we have discussed to use and see how a set of data flow diagrams are prepared. Suppose we are designing a payroll system that will generate paychecks and tax reports. We begin by drawing a context diagram of the system. The entire system (Figure below) is shown in one symbol labeled “Payroll System”. Connected to this process are the external entities “Employees” and “Government”. Time Cards Employees

Paychecks

0

Payroll system

Payroll System

Employees

Reports

Context diagram “Employees” and “Government” are

Govern ment

Let us now refine the level of detail. The figure below illustrates a level 1 diagram of the system. The employees’ time cards are drawn as a source (external entity). Hours worked are verified against information in the time card file. Computations of employees’ salaries require accessing a tax table file. Tax reports

Software Project Management _________________________________________________________________

___________________________________________________ Software Engineering: A Computer Science Approach

will be prepared from the information provided by these computations. The permanent record of the transaction is saved on the check stub, shown as a data store. Preparing the paychecks as a process step. Since the check leaves the system and is delivered to the employee, it is shown as a sink (external entity). Flow lines are drawn to connect the elements and show the flow of data. Time Card

Time Cards Employee

1.4

Tax Table File

1.0

1.1

Verify Hours Worked

Compute Salary Deductions

1.2 Prepare Paycheck

Paychecks

Employee

Payroll system level 1

1.6

diagram employees’ 51 The time cards are drawn as a source

1.5

Check Stub

Prepare Tax Reports

Reports

Governmen t Agency

Each process symbol can be broken down into lower levels of detail. For federal income tax withholding and payments to credit unions. This would result in one or more second-level diagrams, which could be further, exploded to a third level of detail.

Hierarchy Plus Input-Process-Output (HIPO) Hierarchy plus input-process-output (HIPO) diagrams were developed by IBM Corp. in an attempt to provide programmers with better structures tools for dealing with systems. HIPO (pronounced 1.0 hi-poe) diagrams consist of three distinct types: Payroll

Processing (VTOC) ❑ Visual table of contents ❑ IPO overview diagram ❑ IPO detail diagram

These 1.1 diagrams enable1.2 analysts to define procedures and 1.3 operations in a hierarchical manner, correlating input, processing Compute Employee Compute and output steps with the integrated whole expressed in the visual Federal Paycheck State Taxes Taxes table of contents. Program Program Program

1.3.1 1.1.1 _________________________________________________________________ Software Project 1.2.2 1.2.1 Management State Report Federal Write Credit Program Report Paycheck Union Program Program Program

Lesson 5: Software Specification Tools _____________________________________________________________

Visual table of contents (VTOC) The level of detail increases from the top to the bottom of

The chart above shows an hierarchy in which the level of detail increases from the top of the chart to the bottom, moving from the general to the specific. This is called top-down development. In our figure the levels are coded with reference numbers. At the top of the chart is the general level 1.0 module. Think of this as the parent. Below the parent are the children, noted as levels 1.1, 1.2 etc. which further explode the detail of the preceding level. Still lower levels of detail are marked 1.1.1, 1.1.2, etc. The chart provides a hierarchical view of the problem, which is then supported by two additional charts known as input-process-output (IPO) (pronounced eye-poe) charts.

InputprocessOutput (IPO) chart This chart describes the processing activities for any given module on

Program: Write Paycheck Application: Payroll Processing Employee Name Hours Worked Pay Rate Deductions

Input

Reference No.: 1.2.2 Date: 6-21-88

Compute Gross Pay Compute Net Pay Paycheck Print Out Paycheck

Process

Output

The IPO chart may be either general or specific in nature. A general sequence of steps is known as an IPO overview diagram, while a detailed chart is called an IPO detailed diagram. These charts are especially useful for programmers who must code a program. The IPO chart is read from left to right. It describes the input, processing activities and output for any given module on the VTOC.

Software Project Management _________________________________________________________________

52

___________________________________________________ Software Engineering: A Computer Science Approach

Structured English Up to this point we have been dealing with diagrams that are visual or pictorial in nature. To actually write a program for the steps illustrated in an IPO chart or a data flow diagram, we must prepare a detailed sequence of instructions in programming language. Figure below illustrates a block of programming code. There is obviously a major jump between a VTOC or data flow diagram and the detailed commands required in a program. Many systems analysts and programmers rely upon a form of structures English, also known as pseudocode. Pseudocode expresses language commands in an English-like form that greatly facilitates programming. The structured English in figure above has levels of indentation similar to the levels of detail found on the VTOC. Pseudocode includes key words in capital letters that reflect the major programming commands to be used when actually coding the program. Structured English is written in a terse sentence from resembling an outline. Steps in the program are listed in sequence. Items are indented to show subordination. Once completed, a set of pseudocode instructions provides an easy bridge to programming. It becomes a communication tool used by both the programmer and the systems analyst.

53

Cobol

IDENTIFICATION DIVISION PROGRAM ID. LISTING1 ENVIRONMENT DIVISION CONFIGURATION SECTION SOURCE COMPUTER. CYBER-170-720 OBJECT COMPUTER. CYBER-170-720 SPECIAL-NAMES. INPUT-OUTPUT SECTION. FILE CONTROL. SELECT IN-FILE ASSIGN TO INPUT SELECT OUT-FILE ASSIGN TO OUTPUT. DATA DIVISION. FILE SECTION. * DEFINE INPUT OF THE PROGRAM FD IN-FILE LABEL RECORDS ARE OMITTED. 1 RECORDS-IN PIC X (80). * DEFINE OUTPUT OF THE PROGRAM. FD OUT-FILE LABEL RECORDS ARE OMITTED 1 RECORD-OUT. 02 FILLER PIC X (01). 02 DATA OUT PIC X (80). PROCEDURE DIVISION. LETS-GO OPEN INPUT IN-FILE OPEN OUTPUT OUT-FILE. MOVE SPACES TO RECORD-OUT WRITE RECORD-OUT AFTER PAGE. READ-AND-WRITE.

_________________________________________________________________ Software Project Management language

This code is typical of high-level

Lesson 5: Software Specification Tools _____________________________________________________________

READ IN-FILE AT END GO TO CLOSE-UP. MOVE RECORD-IN TO DATA-OUT. WRITE RECORD-OUT AFTER 1. GO TO READ-AND-WRITE. CLOSE UP CLOSE IN-FILE, OUT-FILE. STOP RUN

pseudocode Pseudocode expresses language commands in a structured Englishlike form..

Prepare invoice record READ name, account number, cost, balance IF balance = 0 THEN skip to next invoice ELSE compute selling price price = cost *.25 ENDIF IF balance = 10.00 THEN Print out invoice ELSE Go to next record ENDIF Increment invoice counter End

54 Warnier-Orr Diagrams Programmers and systems analysts sometimes use another form of design diagram known as Warnier-Orr diagram. Named for its creator, Jean Dominique Warnier and Ken Orr, who further developed it, the diagram resembles a visual table of contents placed on its side. Compute State Taxes Program Warnier-orr diagram Brackets define where each subroutine relates to the next higher

Payroll Processing

Employee Paycheck Program Compute Federal Taxes Program

State Report Program Write Paycheck Program Credit Union Program Federal Report Program

The major or general modules are listed at the left of the page, while the right shows the detailed modules. Brackets define where each subroutines or module relates to the next higher level. Software Project Management _________________________________________________________________

___________________________________________________ Software Engineering: A Computer Science Approach

Many analysts prefer the Warnier-Orr diagram over the VTOC because the Warniier-Orr chart can be drawn without templates or artists’ instruments and shows at a glance each level in the hierarchy.

Nassi-Shneiderman Charts

In the early 1970s, Isaac Nassi and Ben Shneiderman developed a form of programming chart that closely resembles the control structures used by programmers. Input Payroll Data Input Deductions

Hourly or Salary? Hourly

Salary

Compute Hourly Gross Pay

55

Compute Monthly Gross Pay

Compute Payroll Taxes

NASSISHNEIDERMAN CHART This type of chart clearly illustrates program logic

Credit Union Deductions? Yes

No

Compute Net Pay less Credit Union Deductions

Compute Net Pay

Print Out Paycheck

The Nassi-Shneiderman chart shown below describes the data flow through a computer program. Analysts and programmers use these charts, sometimes known as structured flowhcharts, because they clearly show the logic in a program.

EXERCISES 1. Describe how adding personnel to a project that is behind schedule might make the project completion date even later. 2. For each of the risk management plan suggested by Boehm with the top ten risk, explain how these suggested risk management help in defining the solution to the risk. _________________________________________________________________ Software Project Management

Lesson 5: Software Specification Tools _____________________________________________________________

3. Even on your student projects, there are significant risks to your finishing your project on time. Analyze a student software development project and list the risks. What is the risk exposure? What techniques can you use to lessen each risk?

Software Project Management _________________________________________________________________

Related Documents


More Documents from ""

Color Codes
May 2020 24
Systems Development Life 2
October 2019 36
Kinematics
May 2020 27
Webdev Lesson3
November 2019 28
Data Gathering
October 2019 27