You are on page 1of 6

1

CT-044 Lab 1 Application Requirements and Design

Lab: Evaluate Requirements and Propose a Design


In this lab, you will evaluate a list of application requirements. You will then use these requirements to make design and technology choices and propose an application design. Exercise: Review Requirements and Recommend Technologies For this exercise, review the following set of application requirements. You will then perform the following steps to arrive at a set of recommendations for the application. The following are key requirements for the application: R1:The application should be accessible to our distributed, traveling sales force. This workforce uses a variety of Internet connections and also often needs to work when disconnected. R2: Our inside sales team will also use the application. The team members, along with their managers, will enter customer data and manage their orders. R3: The system needs to support up to 100 concurrent users. R4: Users should not have to log on to the application. It needs to recognize their network logon name and password. R5: The application should integrate with the inventory system. When an order is requested, an inventory check should be done. When an order is placed, the inventory system needs to be notified. R6: The application needs to send order-extract files to the order-processing system. R7: The application should report sales data to upper management. They would like to see the report as a set of graphical elements on a dashboard. They would like to be able to drill into this data and do further analysis. Now that you have the application requirements, follow these steps to arrive at a set of recommendations: 1. Review the application requirements and determine which client technology you should implement based on the specifics in the requirements. R1 indicates that you should consider a Smart Client to support disconnected scenarios. You might also consider creating a mobile application. R2 does not dictate a UI. However, if the team is totally internal, a Smart Client solution would work well for them, too. R7 indicates that you should consider a Web-based solution or, perhaps, Microsoft Office Excel.

CT-044 Lab 1 Application Requirements and Design

2. Determine a data storage mechanism for the application. R1 indicates that you might need to consider a local storage option. This could be isolated storage, or you could consider SQL Everywhere on the mobile device or desktop. R3 indicates a large enough workforce that you will want to support a SQL Server standard back-end. It might synch with the mobile clients. 3. What additional technologies (outside of ASP.NET) should you consider for this solution? Consider cost-effective products that satisfy some of these requirements. R5 indicates that integration around a couple of business processes is necessary. Explore the potential of using BizTalk Server to aid in this effort. R6 indicates sending data extracts. Again, BizTalk might be warranted. Also, consider SQL Server Integration Services (SSIS). R7 opens up the possibility of using WSS and SQL Reporting Services. The former could be used to deliver the dashboard-like features. The latter could deliver the reports. You might also consider using SQL Analysis Services to help with the drilldown of the reporting.

Lesson Review 1. You have been given the requirement The application should log all system failures and generate a support ticket to ensure proper follow-up and response. This is an example of what type of requirement? A. Business requirement B. Quality-of-service requirement C. User requirement D. Functional requirement 2. Requirements are useful for which of the following? (Choose all that apply.) A. Allowing testers to confirm if the implemented application is acceptable B. Defining the process a user will perform to accomplish a given task C. Defining a common understanding of scope among the business, users, and project team D. Determining which technologies should be used for the application

CT-044 Lab 1 Application Requirements and Design

3. Given the following requirements, which client technology would you recommend? Users expect a highly interactive experience. They should not have to wait for multiple seconds between requests. The application must work on Microsoft Windows, Unix, and Macintosh computers. The users should be able to run the application only from their corporate computers. A. Standard browser-based client B. AJAX-enabled client C. Mobile client D. Smart Client 4. Given the following requirements, which data storage technology would you recommend? Users should be able to work with the application when they are not connected to the Internet. The applications data is retrieved and aggregated from multiple sources on a monthly basis. After the updated data is posted, users should receive it. The application should have a small footprint on the users computer or device. A. SQL Enterprise B. SQL Express C. SQL Everywhere (Mobile) D. SQL Standard

CT-044 Lab 1 Application Requirements and Design

Lab: Create a Proof-of-Concept Prototype


The best way to ensure your understanding of this material is to create an actual proof-of-concept prototype. You can use this lab as an aid for creating a prototype for your next project. Exercise: Create a Prototype for Your Project Use this exercise as a guide for creating a project prototype. If you dont have a new project, consider each item in the exercise relative to your last (or your current) project. If you were not able to create a prototype for this project, ask yourself, What risks might I have eliminated if I had created a prototype? or, How would things have gone more smoothly if we had started with a prototype? 1. Read through the application requirements and use cases. Identify the screens that might be required to satisfy the application. List each screen and the primary functionality of the screen. Look for similarities between the screens. Use these similarities to define screen types or groupings. 2. Identify areas of the requirements that seem gray or incomplete. Match these areas to the screen types you identified in the previous task. Create a UI mockup for each of these screens. Review the mockups with the users and get their feedback. 3. Review your proposed architecture with the development team. Find out what questions they have. Do they understand it the same way you understand it? Create a reference implementation of the architecture through the layers. Review this reference architecture with the team and find out whether they now have a better understanding. 4. Confirm the key design decisions you made for the application through the prototype. This might include verifying your security model, understanding how you will use Web services, or validating your data management technique. You should choose to validate any items that seem risky or not fully understood. 5. Update the requirements, recommendations, and design based on the prototype. Be sure to track changes. Review how many changes resulted from the prototype. 6. Try to create an accurate estimate of the time it will take to complete the project. Can you get other developers to agree to these estimates? Do you feel the estimates are accurate and complete? If not, what would make them more accurate and complete? 7. Document the lessons that the prototype taught you. Put them together in a presentation. This should include your original assumptions, the evaluation, and the revised assumptions as a result of the prototype effort. In addition, add the key screens and other items to the presentation. Take this presentation to the stakeholders and get their feedback.

CT-044 Lab 1 Application Requirements and Design

Lesson Review 1. Review the following questions, which you need to answer with your prototype. Based on these questions, what type of prototype should you create? How will users be led through the search, review, and purchase process? How will the user identify the features and actions of the system without extensive training? What are the common types of screens required for the application? A. Vertical prototype B. Mockup prototype C. Proof-of-concept prototype D. Reference architecture prototype 2. You need to confirm the estimates for your project. Which of the following prototype steps should you take? (Choose all that apply.) A. Create a reference architecture. B. Define the screens, their types, and their complexities. C. Create a working prototype of each unique element defined by the application. D. Update the requirements based on the findings from your prototype. 3. Which of the following should you consider when evaluating your proposed security model? (Choose all that apply.) A. User authentication mechanism B. User authorization methods C. Resources control D. Connectivity 4. You need to evaluate the effectiveness of your prototype. Which of the following might lead you to believe your prototype was effective? (Choose all that apply.) A. A number of gaps were identified in the requirements. B. The use cases were validated as correct and sufficient.

CT-044 Lab 1 Application Requirements and Design

C. Certain areas of the application were exposed as requiring additional focus in terms of design. D. The new technologies that were recommended worked just as expected.

You might also like