The models created during conceptual application design are similar to models created during conceptual database design. Conceptual application design turns requirements identified during the business requirements phase into abstract processes and data flows. The processes of a conceptual design can be drawn using a procedure diagram. The procedure diagram is similar to a workflow diagram or a flowchart in that it attempts to capture the steps of a particular system task. You will often need many procedure diagrams in order to document all of the tasks in a business requirements document.
Data flow diagrams (DFDs) document the information or data that passes from process to process. It also captures the interaction of the system with external entities (like humans or other computer systems) and data stores. A DFD concentrates on understanding the inputs and outputs of a system—how procedures are able to get the information they need to perform their tasks and where that information flows from there.
There are several possible architectures for which an application can be designed. A single-tier (standalone) application is designed to run on its own and does not have any related outside components. A two-tier application does have one external component, although that is usually just a database running on a server. Sometimes two-tier applications have server components that are designed to handle some of the processing from the client. An n-tier application is designed to run across several servers in a distributed manner. Because n-tier applications require special server software such as Microsoft Transaction Server (MTS, for Windows NT) or Component Services (for Windows 2000) in order to communicate with one another effectively, they are the most complex to develop.
Conceptual design is the process of identifying the components of the system and establishing their relationships with each other.
Procedure diagrams are used to document the tasks of a system as a series of steps.
Data flow diagrams (DFDs) document the flow of data through the system.
Two popular DFD notations are Yourdon & Coad and Gane-Sarson.
Technical architecture is the overall structure of an application.
Single-tier architecture is for applications designed to run on a single computer without connectivity to other systems or applications.
Two-tier architecture, traditionally called client/server architecture, is for applications that have both client and server components.
Three-tier and n-tier architectures distribute a single application over three or more computers.
Conceptual design is validated by mapping all the procedure and data flow design diagrams to the identified business requirements.
Each business requirement must have one or more procedure diagrams, ensuring that each business requirement is covered in the design.
The only business requirements that do not need procedure diagrams are nonfunctional requirements.
The following questions will help you measure your understanding of the material presented in this chapter. Read all the choices carefully because there might be more than one correct answer. Choose all correct answers for each question.
1. | Which diagram notation is used to break a process down into a series of steps?
|
|
2. | Which diagram notation is used to display how packets of information are passed between processes and other system entities? (Choose all that apply.)
|
|
3. | What is the aim of the conceptual application design phase? (Choose all that apply.)
|
|
4. | What does a circle represent in a Yourdon & Coad data flow diagram?
|
|
5. | What is the purpose of conceptual user interface design? (Choose all that apply.)
|
|
6. | What types of characteristics about the target users of an application are documented inside a user profile as it relates to conceptual application design? (Choose all that apply.)
|
|
Answers
1. | B. A procedure diagram breaks a complex system process down into a series of smaller steps. Procedure diagrams can contain a high or low level of detail. |
2. | A and C. A DFD is used to display how packets of information are passed between processes and other system entities. Yourdon & Coad and Gane-Sarson are two of the most popular DFD notations. |
3. | A, B, C, and D. All answers are correct. A conceptual design translates the business requirements identified earlier in the design phase into an application design. This design focuses on the needs of the user and does not take many system or nonuser needs into consideration. Conceptual database design is part of overall conceptual design, and the results of conceptual design are fed into the phase that follows—logical design. |
4. | C. A circle represents a process in the Yourdon & Coad DFD notation. |
5. | B and D. Conceptual user interface design is the process of understanding who the users are (by constructing user profiles) and conceptualizing the application from their point of view. |
6. | B, C, and D. The user profile is used to come up with a general understanding of your users’ special characteristics so that the application can be tailored to their needs. Understanding their level of computer skills is important to designing a user-friendly yet efficient application. Understanding the areas of the system they will use most frequently is important so that those areas can be streamlined. Finally, understanding general geographical locations will help determine what network, server, and other technical resources will be required. |
7. | Which application architecture would most likely be used for a productivity tool, such as a simple calculator?
|
|
8. | XYZ Corporation has a custom-designed VB .NET application that involves 11 different computers in its small corporate office. Ten of those computers are client workstations, as each employee has his or her own copy of the application. The application also requires a database server for data storage, although the application itself is not installed on that machine. What type of architecture is this application an excellent example of?
|
|
9. | XYZ Corporation is developing a complex, online ordering system for its global web site. The application must be available 24 hours per day, 7 days per week. The application designer has decided to create a distributed VB .NET application, converting .NET assemblies into COM components. These components will be running on a small cluster of Windows 2000 machines. Which Microsoft technology will enable these components to participate in transactions and object pooling?
|
|
10. | Which of the following are advantages of using an n-tier architecture when compared with one- and two-tier architectures? (Choose all that apply.)
|
|
11. | Which of the following are typically features of a web service application? (Choose all that apply.)
|
|
12. | Which of the following are disadvantages of using an XML data storage solution? (Choose all that apply.)
|
|
Answers
7. | A. A simple calculator most likely would be developed as a standalone, single-tier application. This is because a calculator probably would not need access to network resources such as databases and application components deployed across multiple servers. |
8. | B. No matter how many independent client workstations are involved, the labeling of tiers usually involves counting one client plus the number of server computers that client relies on (including server computers relied on by other servers). In this case, because there is one client and one database server, this is a two-tier application. |
9. | D. Component Services is the name of the Microsoft server software that provides transaction and object pooling services in a Windows 2000 environment. |
10. | A and C. Among several others, two of the advantages of an n-tier architecture are its ability to handle more transactions in a certain period than one- or two-tier architectures possibly can and its ability to be scaled more easily due to the fact that servers often can be added to a solution without coding changes. |
11. | A and B. The users of web services are always other applications, and not users directly. Since web services are based on a set of common standards, the programming language and operating system of the client and the server are independent of each other. |
12. | A and B. The nature of XML makes it more difficult to sort and search. Because the entire XML document has to be parsed in order to extract aggregate data, filtered data, and the data from an entire column, it is many times slower than a relational database solution. |
13. | What is the best technique for validating conceptual user interface design?
|
|
14. | What is the best technique for validating conceptual application design?
|
|
15. | What is the most likely consequence of not validating the conceptual user interface design?
|
|
Answers
13. | B. Conceptual user interface design is usually validated by some form of usability testing. Two or three sample screens are created and presented to users to solicit their feedback before a user interface design is decided on. |
14. | A. Comparing the procedure and DFD diagrams with the business and user requirements is the best way to validate a design. Each business requirement should have one or more conceptual diagrams to ensure that everything is covered. |
15. | B. User interfaces that have been designed without usability testing often have unintended confusing elements. Terminology that is frequently used in the software development world may be unfamiliar to the average user, and frequently used features may be hidden in hard-to-access menus. |
1. | Arrange the following software design tasks in proper chronological order from earliest to latest.
|
|
Answers
1. | The correct order of software design tasks is as follows: C. Visualizing the design B. Developing business requirements E. Developing functional specifications A. Transforming data and business requirements into a conceptual design F. Developing a database schema D. Developing an application prototype |