Requirement Analysis

4,531 views
4,277 views

Published on

Published in: Technology, Business

Requirement Analysis

  1. 1. REQUIREMENT ANALYSIS AND SPECIFICATION Sanjeev Sarma, Webx
  2. 2. Introduction <ul><li>Analyzing Business Requirements </li></ul><ul><li>Defining the Technical Architecture for a Solution </li></ul><ul><li>Developing the Conceptual and Logical Design for an Application </li></ul><ul><li>Developing Data Models </li></ul><ul><li>Defining a User Interface and User Services </li></ul><ul><li>Deriving the Physical Design </li></ul>
  3. 3. Analyzing Business Requirements Gathering Requirements
  4. 4. Analyze the scope of a project <ul><ul><li>Existing applications </li></ul></ul><ul><ul><li>Anticipated changes in environment </li></ul></ul><ul><ul><li>Expected lifetime of solution </li></ul></ul><ul><ul><li>Time, cost, budget, and benefit trade-offs </li></ul></ul>
  5. 5. Analyze the extent of a business requirement <ul><ul><li>Establish business requirements. </li></ul></ul><ul><ul><li>Establish type of problem, such as messaging problem or communication problem. </li></ul></ul><ul><ul><li>Establish and define customer quality requirements. </li></ul></ul><ul><ul><li>Minimize Total Cost of Ownership (TCQ). </li></ul></ul><ul><ul><li>Increase Return on Investment (ROI) of solution. </li></ul></ul><ul><ul><li>Analyze current platform and infrastructure. </li></ul></ul><ul><ul><li>Incorporate planned platform and infrastructure into solution. </li></ul></ul><ul><ul><li>Analyze impact of technology migration. </li></ul></ul><ul><ul><li>Plan physical requirements, such as infrastructure. </li></ul></ul><ul><ul><li>Establish application environment, such as hardware platform, support, and operating system. </li></ul></ul><ul><ul><li>Identify organizational constraints, such as financial situation, company politics, technical acceptance level, and training needs. </li></ul></ul><ul><ul><li>Establish schedule for implementation of solution. </li></ul></ul><ul><ul><li>Identify audience. </li></ul></ul>
  6. 6. Analyze security requirements <ul><ul><li>Identify roles of administrator, groups, guests, and clients. </li></ul></ul><ul><ul><li>Identify impact on existing environment. </li></ul></ul><ul><ul><li>Establish fault tolerance. </li></ul></ul><ul><ul><li>Plan for maintainability. </li></ul></ul><ul><ul><li>Plan distribution of security database. </li></ul></ul><ul><ul><li>Establish security context. </li></ul></ul><ul><ul><li>Plan for auditing. </li></ul></ul><ul><ul><li>Identify level of security needed. </li></ul></ul><ul><ul><li>Analyze existing mechanisms for security policies. </li></ul></ul>
  7. 7. Analyze performance requirements <ul><ul><li>Transactions per time slice </li></ul></ul><ul><ul><li>Bandwidth </li></ul></ul><ul><ul><li>Capacity </li></ul></ul><ul><ul><li>Interoperability with existing standards </li></ul></ul><ul><ul><li>Peak versus average requirements </li></ul></ul><ul><ul><li>Response-time expectations </li></ul></ul><ul><ul><li>Existing response-time characteristics </li></ul></ul><ul><ul><li>Barriers to performance </li></ul></ul>
  8. 8. Analyze maintainability requirements <ul><ul><li>Breadth of application distribution </li></ul></ul><ul><ul><li>Method of distribution </li></ul></ul><ul><ul><li>Maintenance expectations </li></ul></ul><ul><ul><li>Location and knowledge level of maintenance staff </li></ul></ul><ul><ul><li>Impact of third party maintenance agreements </li></ul></ul>
  9. 9. Analyze availability requirements <ul><ul><li>Hours of operation </li></ul></ul><ul><ul><li>Level of availability </li></ul></ul><ul><ul><li>Geographic scope </li></ul></ul><ul><ul><li>Impact of downtime </li></ul></ul>
  10. 10. Analyze human factors requirements <ul><ul><li>Target users </li></ul></ul><ul><ul><li>Localization </li></ul></ul><ul><ul><li>Accessibility </li></ul></ul><ul><ul><li>Roaming users </li></ul></ul><ul><ul><li>Help </li></ul></ul><ul><ul><li>Training requirements </li></ul></ul><ul><ul><li>Physical environment constraints </li></ul></ul><ul><ul><li>Special needs </li></ul></ul>
  11. 11. Analyze the requirements for integrating a solution with existing applications <ul><ul><li>Legacy applications </li></ul></ul><ul><ul><li>Format and location of existing data </li></ul></ul><ul><ul><li>Connectivity to existing applications </li></ul></ul><ul><ul><li>Data conversion </li></ul></ul><ul><ul><li>Data enhancement requirement </li></ul></ul>
  12. 12. Analyze existing methodologies and limitations of a business <ul><ul><li>Legal issues </li></ul></ul><ul><ul><li>Current business practices </li></ul></ul><ul><ul><li>Organization structure </li></ul></ul><ul><ul><li>Process engineering </li></ul></ul><ul><ul><li>Budget </li></ul></ul><ul><ul><li>Implementation and training methodologies </li></ul></ul><ul><ul><li>Quality control requirements </li></ul></ul><ul><ul><li>Customer’s needs </li></ul></ul>
  13. 13. Analyze scalability requirements <ul><ul><li>Growth of audience </li></ul></ul><ul><ul><li>Growth of organization </li></ul></ul><ul><ul><li>Growth of data </li></ul></ul><ul><ul><li>Cycle of use </li></ul></ul>
  14. 14. Defining the Technical Architecture for a Solution Identifying Appropriate Solution Type
  15. 15. Given a business scenario, identify which solution type is appropriate <ul><li>Single-tier </li></ul><ul><li>Two-tier </li></ul><ul><li>N-tier </li></ul>
  16. 16. Identify which technologies are appropriate for implementation of a given business solution <ul><ul><li>Technology standards such as Internet </li></ul></ul><ul><ul><li>Proprietary technologies </li></ul></ul><ul><ul><li>Technology environment of the company, both current and planned </li></ul></ul><ul><ul><li>Selection of development tools </li></ul></ul><ul><ul><li>Type of solution, such as enterprise, distributed, centralized, and collaborative </li></ul></ul>
  17. 17. Choose a data storage architecture <ul><ul><li>Volume </li></ul></ul><ul><ul><li>Number of transactions per time increment </li></ul></ul><ul><ul><li>Number of connections or sessions </li></ul></ul><ul><ul><li>Scope of business requirements </li></ul></ul><ul><ul><li>Extensibility requirements </li></ul></ul><ul><ul><li>Reporting requirements </li></ul></ul><ul><ul><li>Number of users </li></ul></ul><ul><ul><li>Type of database </li></ul></ul>
  18. 18. Test the feasibility of a proposed technical architecture <ul><ul><li>Demonstrate that business requirements are met. </li></ul></ul><ul><ul><li>Demonstrate that use case scenarios are met. </li></ul></ul><ul><ul><li>Demonstrate that existing technology constraints are met. </li></ul></ul><ul><ul><li>Assess impact of shortfalls in meeting requirements. </li></ul></ul>
  19. 19. Develop appropriate deployment strategy <ul><li>Installer </li></ul><ul><li>Online Deployment </li></ul><ul><li>Archive Based </li></ul>
  20. 20. Developing the Conceptual and Logical Design for an Application
  21. 21. Conceptual design <ul><li>Construct a conceptual design that is based on a variety of scenarios and that includes context, work-flow process, task sequence, and physical environment models </li></ul><ul><li>SDI, MDI, console, and dialog desktop applications </li></ul><ul><li>Two-tier, client-server, and Web applications </li></ul><ul><li>N-tier applications </li></ul><ul><li>Collaborative applications </li></ul><ul><li>Given a conceptual design, apply the principles of modular design to derive the components and services of the logical design. </li></ul><ul><li>Incorporate business rules into object design. </li></ul><ul><li>Assess the potential impact of the logical design on performance, maintainability, extensibility, scalability, availability, and security </li></ul>
  22. 22. Developing Data Models
  23. 23. Group data into entities by applying normalization rules <ul><li>Specify the relationships between entities. </li></ul><ul><li>Choose the foreign key that will enforce a relationship between entities and will ensure referential integrity. </li></ul><ul><li>Identify the business rules that relate to data integrity. </li></ul><ul><li>Incorporate business rules and constraints into the data model. </li></ul><ul><li>Identify appropriate level of de-normalization. </li></ul><ul><li>Develop a database that uses general database development standards and guidelines </li></ul>
  24. 24. Defining a User Interface and User Services
  25. 25. User Interface Requirements <ul><li>Given a solution, identify the navigation for the user interface. </li></ul><ul><li>Identify input validation procedures that should be integrated into the user interface. </li></ul><ul><li>Evaluate methods of providing online user assistance, such as status bar, Tool-Tips, and Help files. </li></ul><ul><li>Construct a prototype user interface that is based on business requirements, user-interface guidelines, and the organization’s standards. </li></ul><ul><ul><li>Establish appropriate and consistent use of menu-based controls. </li></ul></ul><ul><ul><li>Establish appropriate shortcut key (accelerated keys). </li></ul></ul><ul><li>Establish appropriate type of output. </li></ul>
  26. 26. Deriving the Physical Design
  27. 27. The Final Product <ul><li>Assess the potential impact of the physical design on performance, maintainability, extensibility, scalability, availability, and security. </li></ul><ul><li>Evaluate whether access to a database should be encapsulated in an object. </li></ul><ul><li>Design the properties, methods, and events of components </li></ul>
  28. 28. Question & Answers Please be brief & Specific
  29. 29. Thank You

×