Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Introduction to systems analysis and design
Hawryszkiewycz I., Prentice-Hall, Inc., Upper Saddle River, NJ, 1988. Type: Book (9780134845852)
Date Reviewed: Aug 1 1989

Any work that claims to be an Introduction to systems analysis and design must cover many different topics ranging from the simple to the difficult. The number of possible subjects is so great that no single work can hope to cover them all. Hawryszkiewycz covers the major topics and does it well.

The wide range of methodologies and techniques available to the systems analyst and the even wider range available to the systems designer create a confusing landscape. The author has selected the most popular, and in my opinion the best, of the techniques and methodologies to both explain and illustrate the processes of analysis and design. He covers and explains the techniques themselves well, clearly, and at length.

The author covers the entity-relationship approach to data modeling and analysis exceptionally well. This alone is sufficient for me to recommend this book, since relatively few works describe this very important analytical and design technique clearly, or indeed mention it at all. The author has obvious preferences in terms of techniques. He does, however, present alternate methods and techniques, although his coverage of them is less extensive.

The book’s 19 chapters generally follow the typical development life cycle. Chapter 2 describes typical information systems. The rest of the text uses these and numerous other case studies and case illustrations. These write-ups and illustrations are clear and to the point.

Chapter 3 describes a linear cycle for computer-based information systems development that consists of five development phases and two post-development phases. This chapter covers the steps within each phase, the products of each phase, and the recommended management report that describes any difficulties encountered in the phase and gives a plan for the subsequent phase. The chapter concludes by suggesting that this linear approach may not be appropriate for all projects and that alternative cycles might be needed for some systems projects.

Chapter 4 is relatively short and covers methods used to gather information about a system. It includes a very brief discussion of some of the sources of that information. Unlike many authors of similar books, Hawryszkiewycz recognizes that search strategies used when there is an existing system should differ from those used when no system exists. Chapter 5 covers starting a project, defining goals, and evaluating the feasibility of those goals. The chapter concludes with a discussion of implementation plan development.

Chapter 6 is an extensive discussion of data flow diagrams: what they are, how to build them, and how to check them for correctness. The author describes data flow diagrams as the main component of structured systems analysis and one of the most important tools used by the systems analyst. Since the author is one of the few who not only make a distinction between the process of analysis and the process of design, but also discuss analysis techniques separately from design techniques, this discussion is both accurate and correctly biased. The chapter is followed by an extensive set of problems directed at analyzing and correcting data flow diagrams.

Chapter 7 presents methods used to develop models of system data. The author describes and develops two separate models: a high-level entity-relationship (ER) model (after Chen) and a relational model developed from that ER model. The author includes definitions of data modeling terminology along with discussions of the basic concepts of these two modeling techniques. The discussion of the relational model includes a lengthy discussion of normal forms. Ten data modeling problems split about evenly between ER models and relational models follow this chapter.

Chapter 8 provides more advanced coverage of data modeling, specifically for the ER model, and includes a discussion of a topic rarely seen in textbooks--entity life cycles. The chapter concludes by describing the data model for one of the case studies described in chapter 2. Eight more complex data modeling problems follow this chapter.

Chapter 9 covers methods for describing processes. The most extensive discussion deals with structured English, while the author devotes less than a full page of text to decision tables. Four problems accompany this chapter. Chapter 10 describes documentation methods and the reasons for keeping good documentation during the design process. This chapter includes a discussion of computer aids to documentation and documentation management, such as the dictionary.

Chapter 11 begins the discussion of the design phases of the linear cycle. The author rightly states that this phase is the hardest to describe. He says that design is very different from analysis, and he explains why it is hard to describe the design process and verify that a given design is correct. He treats design as a problem-solving process whose goal is the creation of a new system to meet a set of objectives. A lengthy discussion of system objectives and what they are follows. The author then discusses the DeMarco problem-solving cycle. Again, he uses one of the case studies in Chapter 2 as an illustration. Three problems accompany this chapter.

Chapter 12 treats detail design, emphasizing the design of user procedures. After presenting various methods of describing these procedures at both the functional and task levels, the author completes the chapter with a discussion of the computer interface and what its goals should be. Chapter 13 describes database design, beginning with the ER model and continuing through logical record structure design into DBMS structure design. The conversion procedures from model to model are well described and clearly illustrated. Four problems accompany this chapter.

Chapter 14 describes program design, the last part of detail design. Using the models and techniques described in the preceding 13 chapters, the author describes the transformation from model to program design. Four problems conclude this chapter.

Chapter 15 discusses the general methodologies used in practice. The author provides more details about a number of representative methodologies that combine data analysis with other techniques. Chapter 16 discusses two alternative linear analysis and design cycles--evolutionary design and prototyping--and gives some thoughts on choosing the appropriate linear cycle for a specific development project.

Chapter 17 covers project management and its relationships to the linear development cycle. The chapter also describes nonautomated project management tools. The author includes a lengthy discussion of the problems of applying project management techniques to development projects and suggests ways to make the two more compatible.

Chapter 18 introduces and discusses strategic planning and the importance of projecting future computer needs. Unfortunately, the author covers this important topic more briefly than he should, almost as if it was an afterthought. The two problems that accompany this chapter make it a worthwhile addition despite its brevity. Finally, chapter 19 discusses project reviews and walkthroughs, emphasizing how to use walkthroughs as a review tool.

Overall, the author’s style is clear, straightforward, and easy to read. The material is logically organized and liberally illustrated with diagrams and charts. The author’s strong bias toward data analysis and data modeling is revealed by how deeply he covers these topics, by the number and thoroughness of the problems in the chapters that deal with these topics, and by the number of discussion questions that those chapters include. The book’s single shortcoming is minor: the apparent lack of thorough proofreading or copyediting. Some errors can be overlooked, but a typo in a major heading is just sloppy (ROBLEMS instead of PROBLEMS, page 159). This book should be part of every beginning data processing professional’s personal library, and it would make a fine addition to the textbook list in any computer science or MIS curriculum.

Reviewer:  M. E. Modell Review #: CR113158
Bookmark and Share
Would you recommend this review?
Other reviews under "Computer And Information Science Education": Date
Assessing the value of IS journals
Barnes S. Communications of the ACM 48(1): 110-112, 2005. Type: Article
Mar 4 2005
Rebooting the CS publication process
Wallach D. Communications of the ACM 54(10): 32-35, 2011. Type: Article
Dec 27 2011
 Pedagogy that supports computer science for all
Ryoo J. ACM Transactions on Computing Education (TOCE) 19(4): 1-23, 2019. Type: Article, Reviews: (1 of 2)
Sep 3 2019

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 2004™
Terms of Use
| Privacy Policy