22
Lesson 5 SOFTWARE SPECIFICATION TOOLS 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. C 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

Software Specification Tools

Embed Size (px)

DESCRIPTION

Lesson 5Software Specification Tools

Citation preview

Page 1: Software Specification Tools

Lesson 5

SOFTWARE SPECIFICATION TOOLSASE 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.

CCASE 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

Page 2: Software Specification Tools

Lesson 5: Software Specification Tools _____________________________________________________________

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 _________________________________________________________________

4

Page 3: Software Specification Tools

___________________________________________________ Software Engineering: A Computer Science Approach

_________________________________________________________________ Software Project Management

ELEMENT EMS PART PRICEAlternate Names EMS SELLING PRICE

Definition Price charged to the customer for a part.

Input PictureOutput PictureEdit Rules

999.99999.99

Storage TypeCharacters left of decimal 3PromptColumn HeaderShort HeaderBase or DerivedData ClassSourceDefault

CCharacters right of decimal 2PRICEPART PRICEPRICEDAMOUNTMASTER PRICE LIST

XLDictionary

Entity List

Graphics

Graph Analysis

XLDictionary

Screen Data Reporting

Screen Data Entity

Report Design

Screen Design

Report WriterDocumentation

Data dictionaryoverview

The dictionary is the central repository

for all system data.

Data Dictionary

entry

This figure illustrates an order entry system data dictionary entry.

4

Page 4: Software Specification Tools

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.

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.

The Gantt ChartIn 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 _________________________________________________________________

Data Stores

Data Element

Data Model Entity

Data Record

Data Flows

Data hierarchy

A data dictionary places all

information in a hierarchical

structure.

4

Page 5: Software Specification Tools

___________________________________________________ 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.

PlanningProblem DefinitionSystem AnalysisInterviewsDirect ObservationSystem DesignPrototype TerminalsOutput DesignFile DesignSystem DevelopmentSelect Vendors

Train StaffPrepare DocumentationSystem ImplementationChangeoverSystem Evaluation

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 TIME IN WEEKS/MONTHS

Decision TreesSystems 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.

_________________________________________________________________ Software Project Management

Gantt CHART

The chart shows when activities begin and end.

Raw Materials Available?

Truck

Air Freight

Yes

No

Yes

Goods in stock

Prepare Invoice

How to Ship?

No

Customer Pickup

Manufacture Goods

Order Raw Materials

Prepare Invoice

Manufacture Goods

4

Page 6: Software Specification Tools

Lesson 5: Software Specification Tools _____________________________________________________________

Decision TablesSystems 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.

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.

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

Software Project Management _________________________________________________________________

Decisiontree

The tree is read from left to right.

Condition Stub

Action Stub

Condition Entry

Action Entry

Decision table

Parts of Decision Table: Condition,

Stub, Condition Entry, Action Stub and Action Entry.

Page 7: Software Specification Tools

___________________________________________________ Software Engineering: A Computer Science Approach

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 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.

1 2 3 4 5 6 7 8 910

11

12

13

14

15

16

17

Supply-adequate Y N N N N N N N N N N N N N N N NSupply-below minimum N Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y YSupply-out of stock N N N N N N N N N N N N N Y Y Y NItem discontinued N N N N N N N N N N N N N N N YPurchase requisition made Y N Y N Y N Y N Y N Y N Y NOld account Y Y Y Y Y Y N N N N N NLarge order Y Y Y Y N N Y Y N N N NSale item N N Y Y Y Y N NWrite pick order X X X X X X X XMade purchase requisition X X X X X X XCancel order XWrite order confirmation X X X X X X X XPrepare invoice X X X X X X X X

RULES

_________________________________________________________________ Software Project Management

4

Decision table example

A decision table that might be used

in an order-processing system.

Page 8: Software Specification Tools

Lesson 5: Software Specification Tools _____________________________________________________________

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.

FlowchartsFlowcharts 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.

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.

Software Project Management _________________________________________________________________

Time Cards

Verify

Time Card

s

Payroll Master

File

Enter Payroll Transactions

Compute Payroll Using

Computer

Print Payroll Register

Print Paychecks

4

Page 9: Software Specification Tools

___________________________________________________ Software Engineering: A Computer Science Approach

Structured Design ToolsMuch 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.

Data Flow DiagramsThe 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.

_________________________________________________________________ Software Project Management

flowchart

A graphic representation of

the information flow in a

system.

4

Page 10: Software Specification Tools

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.

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.

The process symbol is drawn as a rectangle with rounded corners. It represents the transformation or processing of information

Software Project Management _________________________________________________________________

External Entity

1.5

Process

Data Flowdiagram

Symbols are connected to show

the flow of data through a system.

4

Page 11: Software Specification Tools

___________________________________________________ Software Engineering: A Computer Science Approach

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 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.

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 one-way 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.

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 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.

_________________________________________________________________ Software Project Management

Flowline

1.7

4

Page 12: Software Specification Tools

Lesson 5: Software Specification Tools _____________________________________________________________

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”.

Software Project Management _________________________________________________________________

explodeddiagram

Each succeeding level of the

diagram shows a greater amount of

detail.

Level 1

1

Level 2

2 2 2

Level 3

3

3

3

Level 3

33

Time Cards

0

Payroll System

Employees

Government

EmployeesPaychecks

Reports

Order

0

Order System

Customer

Shipping Dept.

Billing Dept.

Bill Request

Ship Request

Ship Confirm

Context diagram

This diagram shows an order system in

its most generalized form.

5

Page 13: Software Specification Tools

___________________________________________________ Software Engineering: A Computer Science Approach

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 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.

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

_________________________________________________________________ Software Project Management

Payroll system

Context diagram

“Employees” and “Government” are

external entities.

Payroll systemlevel 1

diagram

The employees’ time cards are

drawn as a source (external entity).

1.5 Check Stub

1.6

Prepare Tax

Reports

Government Agency

Reports

EmployeePaychecks

1.2

Prepare Paycheck

Time Card

FileTime CardsEmployee

1.0

VerifyHours

Worked

1.4 Tax Table File

1.1

Compute Salary

Deductions

5

Page 14: Software Specification Tools

Lesson 5: Software Specification Tools _____________________________________________________________

better structures tools for dealing with systems. HIPO (pronounced hi-poe) diagrams consist of three distinct types:

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

These diagrams enable analysts to define procedures and operations in a hierarchical manner, correlating input, processing and output steps with the integrated whole expressed in the visual table of contents.

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.

Software Project Management _________________________________________________________________

1.0

PayrollProcessing

1.1

Compute Federal Taxes

Program

1.3

Compute State Taxes

Program

1.2

Employee Paycheck Program

1.3.1

State Report Program

1.1.1

Federal Report

Program

1.2.1

Credit Union

Program

1.2.2

Write Paycheck Program

Visual table of contents

(VTOC)

The level of detail increases from the

top to the bottom of the figure.

Input-process-

Output (IPO)chart

This chart describes the

processing activities for any given module on

Program: Write Paycheck Reference No.: 1.2.2Application: Payroll Processing Date: 6-21-88

Employee Name

Hours Worked

Pay Rate

Deductions

Compute Gross Pay

Compute Net Pay

Print Out Paycheck

Paycheck

Input Process Output

5

Page 15: Software Specification Tools

___________________________________________________ Software Engineering: A Computer Science Approach

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.

Structured EnglishUp 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.

IDENTIFICATION DIVISIONPROGRAM ID. LISTING1ENVIRONMENT DIVISIONCONFIGURATION SECTIONSOURCE COMPUTER. CYBER-170-720OBJECT COMPUTER. CYBER-170-720SPECIAL-NAMES.INPUT-OUTPUT SECTION.FILE CONTROL.

SELECT IN-FILE ASSIGN TO INPUTSELECT OUT-FILE ASSIGN TO OUTPUT.

DATA DIVISION.FILE SECTION.* DEFINE INPUT OF THE PROGRAM

_________________________________________________________________ Software Project Management

5

Page 16: Software Specification Tools

Lesson 5: Software Specification Tools _____________________________________________________________

FD IN-FILELABEL RECORDS ARE OMITTED.

01 RECORDS-IN PIC X (80).* DEFINE OUTPUT OF THE PROGRAM.FD OUT-FILE

LABEL RECORDS ARE OMITTED01 RECORD-OUT.

02 FILLER PIC X (01).02 DATA OUT PIC X (80).

PROCEDURE DIVISION.LETS-GO

OPEN INPUT IN-FILEOPEN OUTPUT OUT-FILE.MOVE SPACES TO RECORD-OUTWRITE RECORD-OUT AFTER PAGE.

READ-AND-WRITE.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 UPCLOSE IN-FILE, OUT-FILE.STOP RUN

Prepare invoice recordREAD name, account number, cost, balance

IF balance = 0THEN

skip to next invoiceELSE

compute selling priceprice = cost *.25

ENDIFIF balance = 10.00

THENPrint out invoice

ELSEGo to next record

ENDIFIncrement invoice counterEnd

Warnier-Orr DiagramsProgrammers 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.

Software Project Management _________________________________________________________________

Cobol language

This code is typical of high-level

languages.

pseudocode

Pseudocode expresses language

commands in a structured English-

like form..

Compute State Taxes Program

State Report Program

Employee Paycheck Program

Write PaycheckProgram

Credit Union Program

Compute Federal Taxes Program

Federal Report Program

5

Page 17: Software Specification Tools

___________________________________________________ Software Engineering: A Computer Science Approach

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.

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 ChartsIn 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 HourlyGross Pay

Compute MonthlyGross Pay

Compute Payroll Taxes

Credit Union Deductions?

Yes No

Compute Net Pay less Credit Union Deductions Compute Net Pay

_________________________________________________________________ Software Project Management

Warnier-orrdiagram

Brackets define where each

subroutine relates to the next higher

level.

Payroll Processing

NASSI-SHNEIDERMAN

CHART

This type of chart clearly illustrates

program logic

5

Page 18: Software Specification Tools

Lesson 5: Software Specification Tools _____________________________________________________________

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.

EXERCISES1. 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.

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 _________________________________________________________________