Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Requirement Analysis

6,752 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

×