Path: utzoo!utgpu!water!watmath!clyde!bellcore!faline!thumper!ulysses!andante!princeton!udel!rochester!cornell!uw-beaver!mit-eddie!ll-xn!ames!oliveb!bunker!rha From: rha@bunker.UUCP Newsgroups: comp.software-eng Subject: Re: Structured Analysis ques. Message-ID: <3650@bunker.UUCP> Date: 3 Jun 88 13:54:49 GMT References: <4150003@hpcilzb.HP.COM> Reply-To: rha@bunker.UUCP (Robert H. Averack) Organization: Bunker Ramo, an Olivetti Company, Shelton, Ct Lines: 69 Posted: Fri Jun 3 09:54:49 1988 In article <4150003@hpcilzb.HP.COM> chris@hpcilzb.HP.COM (Chris Toomey) writes: > I'm doing structured analysis for the first time and am a little confused >about a few of its concepts. Hi Chris - don't worry, the concepts ARE very confusing in the beginning. Now, let's see if we can sort this out. > I'm using an automated tool (HP Teamwork) to develop a set of leveled >data flow diagrams and the accompanying data dictionary; I want to use >these in place of a formal written requirements spec. I'm confused over >the identification of the net inputs/outputs of the system as specified >in the top-level DFD (the context diagram). I'll use a simple example >to illustrate my point. Let's get this clear up front. The System Dictionary (DFD's, Data Dictionary) alone IS NOT SUFFICIENT. This document must always accompany a formal, written Requirements Specification. The purpose of the System Dictionary is to better understand the current and proposed system from the perspective of data only. > Let's say I'm developing a very simple spelling program (similar to UNIX's >spell) which will repeatedly prompt the user for words, which are to be input >one at a time following the prompt. The program will check the spelling of the >words and place them accordingly into the files "correct" and "incorrect." This >will continue until the user enters ctrl-d at the prompt. > Now, for the context diagram: > ------- --------- > ---------- words / \ --------------> correct > | user | -------->| spell | --------- > ---------- \ / --------------> incorrect > -------- --------- > As this DFD illustrates, the net input to the program is the words the user >enters, and the net output is the two files correct and incorrect. Is this the >right assessment of the system I've described? If so, then it seems to me that >the system cannot be fully specified by this approach because it fails to >consider the module(s) which are responsible for prompting the user and reading >words. In other words, how can DFDs and data dictionary entries be used in >place of a written requirements spec. if they don't encompass the entire >system being developed? Is my context diagram incorrect? Should the net input >be "keystrokes"? Your Context Diagram is absolutely correct, my friend. The fact that the system prompts the user for a word does not constitute a flow of data in this context. Furthermore, your conclusion that the DFD's and Data Dictionary cannot be used *in place of* a formal, written Requirements Specification is also correct, as I stated above. The DFD is a logical view only...one should never be concerned with the manner of implementation (modules, keystrokes, etc.). > Also, if the system was extended to display a menu to the user, would the >menu be considered net output to the user or merely "control information" (and >thus not shown on the DFD)? In this regard, the menu is no different than a simple prompt. I hope that I was able to help you. Good luck on your project - E-mail me if you have any further questions. -- {yale!,decvax!,philabs!}bunker!rha Bob Averack Bunker Ramo, an Olivetti Company Two Enterprise Drive - Shelton, Connecticut 06484