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