Home > Store

Practical Analysis and Design for Client/Server and GUI Systems

Register your product to gain access to bonus material or receive a coupon.

Practical Analysis and Design for Client/Server and GUI Systems

Book

  • Sorry, this book is no longer in print.
Not for Sale

About

Features

  • Instills the rigor and discipline necessary to build solid software applications by laying a foundation for successful client/server and GUI analysis and design.
  • Complete coverage of project charters, context modeling, event modeling, information modeling interface prototyping and resolving business issues.
  • Helps students master the design and creation of the graphical user interface, manage and maintain systems using object-oriented programming constructs, design databases capable of servicing the needs of multiple business sites, and link geographically-distributed users together, both inside and outside of the enterprise.
  • Key analytical techniques and design concepts—Get client/server projects delivered in a timely and sensible manner, and includes state-of-the-art techniques successfully used on many large-scale projects.
    • Offers fresh insight on client/server architectures, including hardware tiers, software layers, replication, and the pros and cons of fat clients vs. fat servers.

  • Shows students how analysts and users can best work together to define precisely measurable business objectives.
  • Explains event and information modeling in simple language, and details how to use models in successful design.
  • Comprehensive case study—Builds on the techniques covered to construct a real-world order entry and invoicing system.
  • Humorous, fun writing style—Students are sure to enjoy.

Description

  • Copyright 1997
  • Dimensions: 7" x 9-1/4"
  • Pages: 544
  • Edition: 1st
  • Book
  • ISBN-10: 0-13-521758-X
  • ISBN-13: 978-0-13-521758-0


52175-7

Analysis and design techniques that work: a cogent, complete, and entertaining guide.

This is a practical and witty guide to the core competencies client/server and GUI designers really need—and the analysis and design techniques that really work.

Expert David Ruble introduces a project decision-making framework that helps analysts and users to work together to define measurable, business-focused objectives for new software systems. He brings unprecedented rigor to event modeling, showing how to systematically decompose business events from the conceptual level, all the way down to the mouse-clicks and keystrokes of event-driven applications.

Ruble shows how to choose prototyping techniques that deliver optimal results while allowing project managers to maintain close control. He also shows why written GUI design specifications are critical to effective construction, testing, and project management—and how they can be created quickly. The book includes sample specs that are proven to work and can serve as the basis for your own GUI design specifications.

Ruble offers lucid advice on client/server architectures, including hardware tiers, software layers, replication, and the pros and cons of fat clients versus fat servers. He also shows how mainframe developers can succeed in today's client/server and GUI-based environments, by blending their traditional software engineering competencies with newer techniques.

The book concludes with a start-to-finish case study that brings its techniques to life, through the analysis and design of a real-world order entry system.

Practical Analysis and Design for Client/Server and GUI Systems is essential reading for developers, analysts, project managers, senior IT executives, information architects, and any software professional responsible for the success of a client/server project.

Sample Content

Table of Contents



 1. What Is Analysis and Design?


 2. The Project Charter.


 3. The Context Model.


 4. The Event Model.


 5. The Information Model.


 6. The Interface Prototype.


 7. Wrapping up the Analysis Phase.


 8. The Architecture Model.


 9. Relational Database Design.


10. Graphical User Interface Concepts.


11. External Interface Design.


12. Internal Component Design.


13. Ten Myths of Client/Server Development.


Appendix: McVet Case Study.


Glossary.


Bibliography.


Index.

Preface

Client/server technology has dramatically changed the way we design and build information systems. In most businesses, the glory days of the single mainframe processor are gone. The one big box has been replaced or augmented by an integrated network of personal computers, communication networks, file servers and database servers. The popularity of the graphical user interface (GUI) has placed ever-increasing demands on information technology professionals to create applications that are complex, yet intuitive and easy to use.

Client/server systems knit together sectors of the business organization into a broad computing fabric that reaches far beyond the boundaries of traditional mainframe systems.

This book offers a practical guide to the core competencies required for analysis and design of today's client/server business information systems. In it, you will find analysis and design techniques which have been employed with success on many large-scale projects. Today's information environment is one of rapidly expanding complexity. Successful client/server project teams must master the design and creation of the graphical user interface, manage and maintain systems using object-oriented programming constructs, design databases capable of serving the needs of multiple business sites, and link geographically-distributed users together, both inside and outside of the enterprise. As if that isn't enough, the ever-expanding scope of today's information systems requires an even more savvy analytical understanding of the business and a well-coordinated partnership with the users and business management teams than in the past.

What is Practical Analysis and Design for Client/Server and GUI Systems?

The reason I call this “Practical Analysis and Design” is because I am an analyst and designer, myself. I don't want to wade through an academic dissertation offering mathematical proof for some hypothetical methodology, and I figure that you don't have the time either. We've got deadlines to meet. So I've included the key analytical techniques and design concepts that I have used to get client/server projects delivered in a timely and sensible manner.

These techniques can be employed using a variety of project-management philosophies, ranging from traditional waterfall to iterative spiral approaches. Some activities presented herein have definite predecessorPsuccessor relationships while others can be conducted concurrently. This is simply the stuff that needs to be done to ensure adequate understanding of the business problem and provide reliable, traceable design specs to build and test a system.

As for the last part of the book's title, “for Client/Server and GUI Systems,” this book assumes your new systems will include at least one, perhaps many computers fulfilling the role of “server,” that your terminals or “clients” are likely to be personal computers with some type of graphical user interface, and that your database will probably be of the relational variety. The amount of object-orientation in your system will vary tremendously, depending on the capabilities of your target development languages. While the analysis and design techniques in this book are not limited to this environment, they are exceptionally well suited to this scenario.

What's this book about?

If this book weighed 100 pounds, about 60 pounds of it would be analysis and 40 pounds would be design. The analysis section starts with a chapter on project charters, which marks the beginning of the analytical process even though this activity is commonly referred to as the “planning” phase of a project. The activities of analyzing the business need are covered in the subsequent five chapters on context modeling, event modeling, information modeling, interface prototyping and resolving business issues. Then the book moves on to system design. The design chapters show how to consume the models created during the analysis phase for making architectural decisions, designing the database, and creating the interface and internal componentry.

That's a lot of stuff! What isn't in this book?

This book is about writing specifications for systems, not about writing code at the line level. There are plenty of programming and technical issues which are well beyond the scope of this work. Computer hardware is something that this book definitely not about. I won't be telling you how to wire up your network or which plug goes in which socket. I do not endeavor to endorse (or deride) any particular brand or type of hardware, language or development tool, and I can't possibly tell you whether to use version 1.342A versus version 2.417B. That kind of advice would be out of date before the ink was dry from the press.

Who needs to know all of this?

Developers, managers, business analysts, programmers . . . a lot of people need to know this stuff. Within these pages are the core competencies that form the foundation of successful software engineering. These techniques have evolved over the last three decades, along with the capabilities of the available technology and the maturity of our industry. Whether you are a traditional mainframe developer, an experienced client/server veteran with many projects under your belt, or a mouse-slinging “PC cowboy” riding the range of the GUI desktop frontier, you should be able to find something useful in this book. Today's information technology professional is becoming more and more specialized. Like the medical field, there is simply too much to learn to know it all. You can carve out a specialized career niche by picking just one or two techniques from this book and getting really good at them. Other readers may opt for a more generalized approach by mastering many of the techniques along with a variety of programming languages and technical skills.

How this book is organized

The first chapter reveals the secret for a successful client/server project. It takes the right people, sensible management, and a sound methodology. (Having a big sack of money doesn't hurt, either.) I discuss the skills required of a good analyst and the skills to look for in a designer. I offer my thoughts on the waterfall versus spiral methodology debate, and then move on to describe the key characteristics to look for in a good methodology. The chapter closes with a brief overview of the techniques covered in the rest of the book.

Chapters 2 through 7 detail the deliverables of planning and analysis. In Chapter 2, The Project Charter, I initiate the analytical process with a technique called the project decision-making framework, which is used to help the business members determine the true objectives of their new system. Chapter 3 covers The Context Model, a venerable yet important technique for exploring and defining system scope and external interfaces. The Event Model is the subject of Chapter 4. The event model defines the system's observable behavior in business terms, and documents the business policy and rules which comprise the process requirements. It is a crucial model which guides the development of the event-driven graphical user interface. The Information Model, covered in Chapter 5, creates an organizational map of the data that the system is required to remember. This is a vital technique for sound relational database design and object modeling. Chapter 6 shifts from building models to consing models. The Interface Prototype is our first foray into design. Prototyping can be used to validate models, design the interface, or even elicit requirements. Chapter 7 rounds out the analysis section with some suggestions on resolving business issues.

Chapters 8 through 12 address the design of a client/server system and graphical user interface. Chapter 8, on The Architecture Model, shows how to use the essential models from analysis to determine the most desirable (or least offensive), technical architecture for your system. Chapter 9 covers the basics of transforming an information model into a Relational Database Design. Chapter 10 introduces key Graphical User Interface Concepts. The written External Interface Design specification is the subject of Chapter 11. A written specification is a vital management tool for partitioning the development work among multiple programmers, and for devising adequate test plans. Chapter 12 is the final technical chapter, covering Internal Component Design, with an emphasis on object-oriented concepts.

In the final chapter, I present Dave's Top Ten Myths of Client/Server Development. This chapter is intended to help separate the fact from the fiction surrounding client/server development. Following the formal chapters, I have included a comprehensive case study which gives you an opportunity to exercise the techniques covered in this book for a fictitious business, rife with many of the same types of problems and issues that you find in real companies.

The philosophy of this book is simple. Building solid software applications requires rigor and discipline. No amount of arm-waving and fad-of-the-year hoopla can eradicate the need for getting into the gory details of the business problem. Techniques for analysis and design need to be sufficiently robust and expressive to articulate the business need and devise a solution, yet they must be practical enough to be practiced with everyday tools in a format that allows analysts and designers to work closely with their users.

By using the techniques in this book, you can build reliable systems which realize the goal of client/server, to exploit the power of micro, mini and mainframe computers by allocating them to their most propitious use. By doing this in an organized and rational manner, you will avoid the anarchy which is unleashed in less disciplined shops, and your efforts will yield information systems that are flexible enough to meet your business' needs while maintaining safe custody of the corporate data asset.

Questions or comments regarding this book can be addressed to the author at
www.ocgworld.com

Author's Note

Several conventions employed in this book are worthy of explanation. The English language lacks a word to express “he or she” in the singular. “They” denotes plural, and “he/she” is awkward. In the interest of readability, I have used the words he and him instead of he/she and him/her. You may take any instance of the word he or him in this book to describe either a male or female person, with the notable exception of my reference to General Eisenhower in Chapter 3, and various methodologists named throughout.

In information modeling, the term entity is formally differentiated from the term entity type. The entity type is the classification of the person, place, thing or abstract idea, and the entity is a member or instance of the classification. Customer represents the entity type. Bob's grocery store represents an entity. This distinction is not always made in the vernacular of common speech among practitioners. In the interest of smooth sentence flow I will use the word entity at times in this book to mean either entity or entity type. The context of the sentence should make it clear what I mean. This disclaimer also applies to my use of the words attribute versus attribute type, and relationship versus relationship type.

The distinction is more clear in object-oriented design where we have entirely different words to distinguish between a class and an object. Objects are the instances that exist at runtime (e.g., Bob). Classes are the templates from which the objects are wrought (e.g., Customer). Since class can have different meanings in our language, I will sometimes use the term object class instead of simply class to make it clear that I am referring to an object-oriented construct.

Updates

Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.

Overview


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information


To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.

Surveys

Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.

Newsletters

If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information


Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.

Security


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.

Children


This site is not directed to children under the age of 13.

Marketing


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information


If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.

Choice/Opt-out


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information


Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents


California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure


Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.

Links


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact


Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice


We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020