Professional Documents
Culture Documents
Table Of Contents
1. Introduction.............................................................................................................3 2. Pre Requisites:........................................................................................................4 3. Role & Responsibilities of a Business Analyst......................................................5 Functional Requirements:......................................................................................5 Non Functional Requirements (Supplementary requirements):.............................5 4. Requirement Analysis.............................................................................................9 5. Gathering Effective Requirements........................................................................10 6. Recommended Requirements Gathering Practices...............................................11 7. Preferred Requirements Gathering Techniques....................................................13 8. Requirement Gathering Methodologies................................................................15 Waterfall Model...................................................................................................15 Rational Unified Process......................................................................................15 Agile Methodology .............................................................................................16 Extreme Programming ........................................................................................18 9. Requirement Gathering Tools...............................................................................19 10. Unified Modeling Language..............................................................................20 11. Business Requirements Document.....................................................................21 12. Use Case Document ..........................................................................................28 13. Test Case Document ..........................................................................................33 14. Frequently Asked Questions...............................................................................35
Page 2
1. Introduction
Business Analysis is a process of identifying, gathering, analyzing, documenting, and managing the requirements within in a business process. Over the life of the project the Business Analyst will: Organize Meetings, Involve the concerned Stake Holders and gather various types of requirements pertaining to the system. Perform a high-level analysis of the Requirements from a business value perspective to determine the feasibility of constructing the application. Re-engineer businesses processes and assist the client with the development of new process flows, documents, forms and administrative processes. Produce initial project scope, schedule and budget. Act as arbiter (interface) between client and developer with respect to project implementation issues. Conduct analysis at a sufficient level of detail to determine the essential functionality of the application expressed as use cases or user stories (shall deal with these later)
Capture information flows and determine general data storage and retrieval requirements. Efficiently transfer the high-level analysis products, use cases and process diagrams, to the development team. Assist clients with transition planning, data migration, administrative process redesign and implementation support.
Conversely, the Business Analyst may also be requested to: Developing a comprehensive design document specifying detailed requirements of the application like form layouts and navigation, data models, entity relationship diagrams and other design artifacts. Managing the project schedule
Page 3
2. Pre Requisites:
Communication Skills: Business Analysis is all about communication, both Oral and written. Besides any thing a Business Analyst interacts with various stakeholders and does documentation extensively. Therefore to excel as a Business Analyst, Written and Oral Communication Skills are very vital. Software Industry: General Over view of Software Industry like: Client Server Applications: Examples: Visual Basic, PowerBuilder. Web based Applications: Examples: Html, Xml Programming languages: Examples: Java, C++, ASP, .Net. Databases: Examples: Oracle, Sal Server, Sybase, DB2, Sybase, Access. o Technologies: IBM Websphere, BEA Weblogic, Microsoft .Net, ATG Dynamo. o o o o Other Stakeholders: within the project and their responsibilities namely: o o o o o o Project Manager Technical Architect Programmers Database developers Database Administrators Quality Assurance Analysts
Page 4
Page 5
controls (e.g. Text Box, Radio Button, Check Box, Label, Combo Box etc), various types of validations on a User Interface screen.
Page 6
Example of the tasks performed by a Business Analyst Let us try to understand the role of a Business Analyst at a greater detail taking an example. Consider that yahoo email does not yet exist. The owners of Yahoo.com came up with this idea of developing yahoo email system and approached your company to build the site mail.yahoo.com. Now to build the system you are hired as a Business Analyst apart from various other people in the responsibility of Project Manager, Technical Architect, Programmers, and Database developers/Administrators, Quality Analysts etc. Now, as a Business Analyst you are responsible do the following. Gather all the requirements pertaining to what the client envisions mail.yahoo.com to be, document them and pass it on to the technical (development) team so that they could develop (program) to build the system. Identify the requirements at a high level Every user is required to register on to yahoo before being able to email Every user is required to sign on to their site before being able to email Yahoo email has search capability Yahoo email has calendar features. Now think of other features of yahoo, which could be categorized into High-level requirements. In the next phase - Elaborate the above high-level requirements into detailed ones Example: Registration (Sign Up) Process should record the following user details 1. First Name 2. Last Name 3. Date of Birth. The Login Process should involve the following 1. The User is required to fill in the UserId and Password and click the submit button 2. The system should check for the validity of the User entered details and If the information correct then redirect the user to the Inbox page Else Redirect the user back to the sign on page.
Page 7
GUI Requirements: Come up with the Graphical User Interface Prototypes for various screens.
New to Yahoo? . . 100MB of email storage Keep more of what's important to you Powerful spam protection Read only the mail you really want Get your mail anywhere All you need is a web connection. Learn More Sign Up
Now think of how to come up with the GUI requirements for other screens as well. Non-Functional Requirements Yahoo mail should support the load of more than 100, 000 users logging on the site at a time. Yahoo mail login should used to link to other yahoo features like groups. Yahoo.com, Briefcase.yahoo.com etc Yahoo mail should be able to generate revenue of $ 2.5 billion /yr.
Page 8
4. Requirement Analysis
Requirements are prone to issues of ambiguity, incompleteness, and inconsistency. Techniques such as rigorous inspection have been shown to help deal with these issues. Ambiguities, incompleteness, and inconsistencies that can be resolved in the requirements phase typically cost orders of magnitude less to correct than when these same issues are found in later stages of product development. Requirements analysis strives to address these issues. There is an engineering trade off to consider between requirements which are too vague, and those which are so detailed that they 1. Take a long time to produce 2. Begin to limit the implementation options available 3. Are costly to produce
Writing Requirements Requirements are written in such a way that they direct the creation/modification of a system according to the business rules appropriate to the domain in which the system will be used. Systems should normally conform to the business domain of operation. The general form of a requirement looks like.. "who shall what". Example: "The contractor shall deliver the product no later than xyz date." Changes in requirements With time, requirements may change. In this case, once defined and approved, requirements should fall under change control. For many projects, some requirements are altered before the system is complete. This characteristic of requirements has led to requirements management studies and practices. Disputes regarding the necessity of rigor in software requirements Some modern software engineering methodologies like extreme programming question the need for rigorously describing software requirements, which they consider a moving target. Instead, they describe requirements informally using user stories (short summaries fitting on an index card explaining one aspect of what the system should do), and compose a series of acceptance test cases for this user story.
Page 9
Page 10
Page 11
Use requirements gathering techniques that are known, familiar, and proven in the organization such as requirements workshops, prototyping, and storyboards. Provide members of the project team (including requirements analysts) who are domain/subject matter experts. Evolve a project and organizational approach based on successful use of policy, process, methods, techniques, and tools. Provide a mechanism such as working groups to share information and "best practices" among projects. Establish a continuous improvement ethic, teamwork approach, and a quality culture. Involve customers and users throughout the development effort. Perform requirements validation and verification activities in the requirements gathering process to ensure that each requirement is testable.
Page 12
Page 13
quality attributes and other information such as interface characteristics. Many developers believe that use cases and scenarios (descriptions of sequences of events) facilitate team communication. They provide a context for the requirements by expressing sequences of events and a common language for end users and the technical team. Storyboards: A storyboard is a set of drawings depicting a set of user activities that occur in an existing or envisioned system or capability. Storyboards are a kind of paper prototyping. Customers, users, or developers start by drawing pictures of the screens, dialogs, toolbars, and other elements they believe the software should provide. The group continues to evolve these until real requirements and details are worked out and agreed upon. Storyboards are inexpensive and eliminate risks and higher costs of prototyping. Interfaces Analysis: Missing or incorrect interfaces are often a major cause of cost overruns and product failures. Identifying external interfaces early clarifies product scope, aids risk assessment, reduces product development costs, and improves customer satisfaction. The steps of identifying, simplifying, controlling, documenting, communicating, and monitoring interfaces help to reduce the risk of problems related to interfaces. Modeling: A model is a representation of reality that is intended to facilitate understanding. The core requirements tool has behavioral modeling capabilities. Behavior is allocated to physical components of the planned system. Use of prototypes and models helped eliminate ambiguities and inconsistencies and correlated with the most successful projects.
Page 14
Page 15
THERE ARE DIFFERENT PHASES INVOLVED AND AT THE END OF EACH PHASE CERTAI MILESTONES IS REACHED. The very first phase is the inception phase. The basic goal in the inception phase is to understand the cope of the entire project, building the business cases and to get the stakeholders approval to proceed with the next phase. Once the inception phase is reached we would have the stakeholders agreement the estimation of the cost ad schedule and the most important part of prioritizing the requirements. Once we have reached the elaboration phase the major goal is to reduce the technical risk and basically understand what it takes to build the system. Once all the relevant considerations have been studied we would have an estimate of the architecture as to how stable it is and if the product is stable or not. The construction phase and the transition phase are more so in the control of the technical team who upon studying the use cases and relevant documents start the work of building the system. Once the product is released it is of utmost importance to satisfy the user requirements and have achieved that without going above the estimated cost. The various rational tools that are involved are a. Test manager: to manually manage the software testing process. b. Rational rose: object modeling tool c. Rational robot: testing tool for functional and performance testing. d. Rational clearquest: to manage changes in the request. e. Rational clear case: version control
Agile Methodology
The Agile project carried out was basically to understand better ways of developing software by doing it and helping others do it. Things such as Individuals and interactions, working software, Customer collaboration, Responding to change is valued more than the items on the right. The principles of agile configurations for RUP are basically to start by selecting a small set of critical artifacts. If there is any doubt about a particular artifact the process is to skip it.
Page 16
The project will be carried out by basically a group of 10 developers over period of 18 months and the issues such as delivering the product to the market is of extreme importance as well staying within the budget. As in every project there are also some recommendations involved for long term planning. For every iteration there are certain aspects that are involved. Iterations should be defined by specifying the start and end dates, the major objectives and the planned release are the other aspects that would be involved; every iteration carried out has a certain objective as to implement the first version and then on up gradation. Since the agile project is a long the period of each iteration would be long. in every phase of the project the number of iterations can vary .for the inception phase there are 1 to 2 iterations, elaboration phase has 2 to 4 iterations, construction phase has 2 to 5 iterations and transition phase has 1 to 3 iterations. Irrespective to the short or long term planning the customer must be involved in iteration planning. to track the progress there are people assigned to manage the iterations .during the course of the project there would be one meeting per week for a couple of hours. The estimation of the project agile will be done based on the previous experiences, expert judgment. The deliverables involved for the inception phase would be basically prioritizing list of system features, description of important use cases, risk analysis. The typical effort involved for the inception phase is 10% of the overall project. The agile project will have separate contracts for all the phases .at the end of the inception phase we would have the first version of the list of requirements, features identified and use cases implemented. At the end of elaboration 80% of features and use cases briefly should have been described. The architecture of the agile project will basically have 4+1 views involved 1. Logical view. 2. Implementation view. 3. Use case view. 4. Process view. 5. Deployment view. The rational tools involved in this project will help keep the design and cod in sync automatically.
Page 17
Extreme Programming
Extreme Programming (or XP) is a software engineering methodology, the most prominent of several agile software development methodologies, prescribing a set of daily stakeholder practices that embody and encourage particular XP values (below). Proponents believe that exercising these practicestraditional software engineering practices taken to so-called "extreme" levelsleads to a development process that is more responsive to customer needs ("agile") than traditional methods, while creating software of better quality. Proponents of XP and agile methodologies in general regard ongoing changes to requirements as a natural, inescapable and desirable aspect of software development projects; they believe that adaptability to changing requirements at any point during the project life is a more realistic and better approach than attempting to define all requirements at the beginning of a project and then expending effort to control changes to the requirements.
Page 18
Integrates with multiple tools in the IBM Software Development Platform to improve accessibility and communication of requirements
Page 19
Page 20
[Note: Text enclosed in square brackets and displayed in blue italics (style=InfoBlue) is included to provide guidance to the author and should be deleted before publishing the document. Text entered above (style=InfoBlue) and below the heading will automatically be set to body text].
Description <details>
Author <name>
Page 21
Business Requirements Document Introduction The introduction of the Business Requirements Document (BRD) provides an overview of the entire BRD. It includes the purpose, scope, definitions, acronyms, abbreviations, references, and overview of the BRD. Note: The BRD document captures the complete software requirements for the system, or a portion of the system. Following is a typical BRD outline for a project using only traditional, natural-language style requirementswith no use-case modeling. Purpose Specify the purpose of this BRD. The BRD fully describes the external behavior of the application or subsystem identified. It also describes nonfunctional requirements, design constraints, and other factors necessary to provide a complete and comprehensive description of the requirements for the software. Scope A brief description of the software application that the BRD applies to, the feature or other subsystem grouping, what Use-Case model(s) it is associated with, and anything else that is affected or influenced by this document. Definition and Acronyms This subsection provides the definitions of all terms, acronyms, and abbreviations required to properly interpret the BRD. This information may be provided by reference to the projects Glossary. Definitions Acronyms References This subsection provides a complete list of all documents referenced elsewhere in the BRD. Identify each document by title, report number if applicable, date, and publishing organization. Specify the sources from which the references can be obtained. This information may be provided by reference to an appendix or to another document. Overview This subsection describes what the rest of the BRD contains and explains how the document is organized.
Page 22
Overview Description This section of the BRD describes the general factors that affect the product and its requirements. This section does not state specific requirements. Instead, it provides a background for those requirements, which are defined in detail in Section 3, and makes them easier to understand. Include such items as: Product perspective Product functions User characteristics Constraints Assumptions and dependencies Requirements subsets Specific Requirements This section of the BRD contains all software requirements to a level of detail sufficient to enable designers to design a system to satisfy those requirements, and testers to test that the system satisfies those requirements. When using use-case modeling, these requirements are captured in the Use Cases and the applicable supplementary specifications. If use-case modeling is not used, the outline for supplementary specifications may be inserted directly into this section, as shown below. Functional Requirements Specifications This section describes the functional requirements of the system for those requirements that are expressed in the natural language style. For many applications, this may constitute the bulk of the BRD package and thought should be given to the organization of this section. This section is typically organized by feature, but alternative organization methods may also be appropriate; for example, organization by user or organization by subsystem. Functional requirements may include feature sets, capabilities, and security. Where application development tools, such as requirements tools, modeling tools, and the like, are employed to capture the functionality, this section of the document would refer to the availability of that data, indicating the location and name of the tool used to capture the data. <Functional Requirement One> The requirement description goes here
Page 23
Usability This section includes all those requirements that affect usability. For example, specify the required training time for a normal users and a power user to become productive at particular operations specify measurable task times for typical tasks or base the new systems usability requirements on other systems that the users know and like specify requirement to conform to common usability standards, such as IBMs CUA standards Microsofts GUI standards <Usability Requirement One> The requirement description goes here. Reliability Requirements for reliability of the system should be specified here. Some suggestions follow: Availabilityspecifies the percentage of time available (xx.xx %), hours of use, maintenance access, degraded mode operations, and so on. Mean Time Between Failures (MTBF) this is usually specified in hours, but it could also be specified in terms of days, months or years. Mean Time To Repair (MTTR)how long is the system allowed to be out of operation after it has failed? Accuracyspecifies precision (resolution) and accuracy (by some known standard) that is required in the systems output. Maximum Bugs or Defect Rateusually expressed in terms of bugs per thousand lines of code (bugs/KLOC) or bugs per function-point (bugs/function-point). Bugs or Defect Ratecategorized in terms of minor, significant, and critical bugs: the requirement(s) must define what is meant by a critical bug; for example, complete loss of data or a complete inability to use certain parts of the systems functionality. <Reliability Requirement One> The requirement description goes here. Performance The systems performance characteristics are outlined in this section. Include specific response times. Where applicable, reference related Use Cases by name. Response time for a transaction (average, maximum) Throughput, for example, transactions per second Capacity, for example, the number of customers or transactions the system can accommodate
Page 24
Degradation modes (what is the acceptable mode of operation when the system has been degraded in some manner) Resource utilization, such as memory, disk, communications, and so forth. <Performance Requirement One> The requirement description goes here. Supportability This section indicates any requirements that will enhance the supportability or maintainability of the system being built, including coding standards, naming conventions, class libraries, maintenance access, and maintenance utilities. <Supportability Requirement One> The requirement description goes here. Design Constraints This section indicates any design constraints on the system being built. Design constraints represent design decisions that have been mandated and must be adhered to. Examples include software languages, software process requirements, prescribed use of developmental tools, architectural and design constraints, purchased components, class libraries, and so on. <Design Constraint One> The requirement description goes here. On-line User Documentation and Help System Requirements Describes the requirements, if any, for o-line user documentation, help systems, help about notices, and so forth. Purchased Components This section describes any purchased components to be used with the system, any applicable licensing or usage restrictions, and any associated compatibility and interoperability or interface standards.
Page 25
Interfaces This section defines the interfaces that must be supported by the application. It should contain adequate specificity, protocols, ports and logical addresses, and the like, so that the software can be developed and verified against the interface requirements. User Interfaces Describe the user interfaces that are to be implemented by the software. Hardware Interfaces This section defines any hardware interfaces that are to be supported by the software, including logical structure, physical addresses, expected behavior, and so on. Software Interfaces This section describes software interfaces to other components of the software system. These may be purchased components, components reused from another application or components being developed for subsystems outside of the scope of this BRD but with which this software application must interact. Communications Interfaces Describe any communications interfaces to other systems or devices such as local area networks, remote serial devices, and so forth. Licensing Requirements Defines any licensing enforcement requirements or other usage restriction requirements that are to be exhibited by the software. Legal, Copyright, and Other Notices This section describes any necessary legal disclaimers, warranties, copyright notices, patent notices, word mark, trademark, or logo compliance issues for the software. Applicable Standards This section describes by reference any applicable standard and the specific sections of any such standards, which apply to the system being described. For example, this
Page 26
could include legal, quality and regulatory standards, industry standards for usability, interoperability, internationalization, operating system compliance, and so forth. Supporting Information The supporting information makes the BRD easier to use. It includes: Table of contents Index Appendices These may include use-case storyboards or user-interface prototypes. When appendices are included, the BRD should explicitly state whether or not the appendices are to be considered part of the requirements.
Page 27
Note: Each time a document is delivered for review to anyone, the next version delivered should have a different version number. Reviewers would modify the name of the document by adding their initials to the name as delivered by the writer and should NOT change the version number. Only the document owner should change the version number. General Information Summary Brief description of the business process that will utilize the system as described in the use case. Include verbiage to put in context of overall process. Guarantees Brief description of the end state of the use case and any guaranteed outcomes. E.g. for Condo process, the end state may be confirmation that a condominium project is approved for mortgage lending by Client, PreAny activity that must have occurred for the first step to execute. e.g. User has successfully logged in to the system Conditions Trigger Brief description of event(s) required for execution of the use case. This is particularly relevant to Use Cases that address only system actions. E.g. if the use case defines the system actions to order and receive a credit report , there may be no pre-conditions, only a trigger that user has selected Order Credit on a any screen. Actors List of all actors included in the use case e.g. Authorized User. For a list of actors, see the Roles list in Addendum 1. If a required Role is not in the list, add the Role to the Actor list and identify the Role as New Role e.g. Clerk (New Role)
Page 28
Requirements List all requirements from the BRD that are covered by this use case. As with all tables in a use case, there should be no blank fields. If the information is not available or not required, enter N/A or None. For the How Addressed section, give a brief description of how each requirement is being addressed, for example link or reference to the section of the use case where it is addressed. If it is determined that all or part of the requirement has been deferred or is no longer a requirement, highlight in yellow. Req # Req. Title Description Other Comment Gap Comment How Addressed
Use Case Steps In a use case, the possible actors are user and system only. If a user needs specific security to access the defined section of the system, that information should be listed as a Pre-condition above. Main Flow Step User Action Number 1 A user action may or may not be required. If no user action is required to begin a use case, this field should contain None. No field in this table should be left blank. If there is no relevant information required for a field, enter N/A or None
Step Number 2
(System) Reaction System reaction be sure to include any error messages that may result from a user action. If the next step has two possible paths, select one for the main flow and reference the alternate flow for the other(s)
Page 29
Exception # Name Each exception has a unique number and name. Name should give context of what is accomplished in the extension or why it is required. Step Number 1 User Action Each step in an alternate flow should have a unique number Step Number 2 (System) Reaction Point in Main Flow where this alternate flow initiates should be included at the beginning of this first step. Notes None
Post Use Case Identify use cases that connect to this use case. If an alternate flow is defined in a separate use case, the use case should be named in the appropriate location in the use case table above as well as listed in this section.
Page 30
Data Elements This section references data elements discussed in the use case and any new fields being added to screens. Any new fields that are required must be listed in the table. Business Name The business name for the field, as referenced in the use case Description Business Description of the field Data Type / Length The Screen on which the field appears, and the Field Label. If the field appears on multiple screens, indicate the one most pertinent to the use case. Note: If the screen has not yet been developed, refer to the Activity and the proposed field label, which will be finalized during Design. Gap Analysis Requirements that have been deferred List all requirements that are in the functional specification group that have been deferred. If no requirements have been deferred, enter None New Requirements Comments / Values Any additional requirements. For a New field, include valid values if known. Validation Rules Example: Not Null (This filed should not be left blank)
Page 31
List all requirements that have been added due to gaps in the requirements matrix. If there are no new requirements, enter None. Assumptions and Dependencies List all other assumptions and dependencies. e.g. Dependencies on other groups, FSGs, or concurrent projects. Illustrations Each illustration should be numbered. If using an existing screen shot, the existing name and file date should also be noted. Modifications to screens can be annotated via drawing tools in Word.
Page 32
System Name: Prepared By: Tested By: Retested By: Date: Date: Date:
Please enter a description for the Test Case Pre-Conditions for this Test Case Enter Comments If any
Page 33
Step Number
Expected Results
Status (Pass/Fail)
Enter the execution steps (this will be similar to the steps under user action in the Use Case)
Enter what is expected out of the system in response to the previous action (this is similar to the steps under System reaction in the Use Case)
Scenario # & Name: (There can be multiple scenarios / flows within a test case All these scenarios should be documented as separate flows) Step Detailed Execution Procedures Expected Results Actual Result Status Number (Enter any error messages) (Pass/Fail)
Page 34
Page 35
Business Analysts can also convey to the User or Client If requirements are not feasible by using simple presentation to make them aware of the critical area of the business application, so later there will no conflicts between User/Clients and the stakeholders and also suggest work around. Business Analyst woks as a liaison between user and technical staff to resolve any conflicts; A Business Analyst is a creative problem finder and a person who resolves conflicts with excellent interpersonal and communication skill. Though a Business Analyst is never involved in solving a problem but aides in many by forming a platform between the user community and the technical community.
Page 36
FAQ 2: Briefly summarize a Business Analyst work experience. An experienced Business Analyst (BA) should have extensive experience in the field of business analysis, risk analysis and software validation for client\server and, web based applications. Diverse projects spanning a wide range if industries like pharmaceutical, Financial, Insurance & Mortgage Companies to name a few; Responsibilities would include actively involve in understanding different business processes, defining scopes of various projects, interacting with wide variety of users and dealing with varying business environments. FAQ 3: Who does the Business Analyst Interact with? While working during different phases of variety of projects, BAs usually interact with the following: 1. Senior Management 2. Project Managers 3. Key Stake holders 4. Subject Mater Experts 5. System Engineers 6. System Architects 7. Designers 8. Developers FAQ 4: What is the Pre requisite for a Business Analyst? A good Business Analyst must poses the following 1. Excellent Communication 2. People Skills 3. Strong knowledge of the Business 4. Pay Attention to Detail 5. Document writing skills 6. Professional Approach 7. Organization Skills 8. Very good Team player 9. Patience 10. Perseverance
Page 37
FAQ 5: What is Business Modeling? Business modeling is a technique to model business processes. Business models provide ways of expressing the business processes in terms of business activities and collaborative behavior. Models are helpful to document and comprehend complexity. They are powerful for two main reasons: They make communication easier, They allow the easy manipulation of solutions without affecting the thing being modeled. This can be further explained with an example: Think about building a skyscraper. No one would dream of a major construction project without thorough blueprints. Thats a blueprint, because its important to not only have one plan of the skyscraper you need to have multiple plans. The electrician needs a view to show where the wiring goes. The plumber needs another plan so he doesnt put a sink in the elevator. And the carpenters need to know where to put this expensive crown molding in the CEOs office. Different workers need different views of what theyre trying to build. And thats what were doing with software. That different view is what we mean when we talk about the logical view, the use case view, the component view, and the deployment view all the different views of the application under construction. Business modeling helps simplify and visualize the business process. FAQ 6: Define UML? The UML is the standard language for specifying, visualizing, constructing, and documenting all the artifacts of a software system. FAQ 7: What do you think is the primary use of activity diagrams and how do you represent them? What is the purpose? Primary use of activity diagram is to show Business Work Flow considering activity state and action completed Activity Diagrams are used mostly to show where each use case in an activity or how things flow between Use Cases Activity diagram can be used to relate each use case with the set of activity, so technical team can understand that the different set of users who perform different
Page 38
activities with varying set of privileges to access the system and doing the specific activity. This was very helpful tool when we have diverse set of users. FAQ 8: When and in what phase and how do you use the use case diagram? Use Case (UC) diagrams are drawn early in the Analysis Process. It is basically A Series of related transaction performed by an ACTOR Before we draw the UC Diagram we begin by asking questions like Who are the users of the application? What exactly does the user want from the system? What value does application provide to the user? Then the UC Diagram is drawn FAQ 9: What is a Use Case A use case is a technique used to capture the functional requirements of a system. Use cases describe the interaction between a primary actorthe initiator of the interaction and the system itself, represented as a sequence of simple steps. Actors are something or someone which exist outside the system under study, and who (or which) take part in a sequence of activities in a dialogue with the system, to achieve some goal: they may be end users, other systems, or hardware devices. Each use case is a complete series of events, from the point of view of the actor FAQ 10: How do I work with Activity Diagram? Activity Diagram is used early in the analysis and design phase as it shows the Business Work Flow considering activity state and action completed. Activity Diagrams illustrate how things flow between Use Cases Activity diagram is used to relate each use case with the set of activity, so technical team can understand that the different set of users doing different activity with varying set of privileges to access the system. Since we have diverse set of users this was very helpful tool FAQ 11: How can sequence diagrams help in the business understanding? Sequence diagram shows Objects interaction arranged in Time Sequence. It is a great tool for deriving requirements, and hence used during the process of requirements gathering. Sequence diagrams give thee process flow in the system in sequence of time. This helps the Systems Analysts, Developers and Testers understand simple to complex scenarios in a better way, avoiding ambiguity of representation
Page 39
FAQ 12: We have diverse teams of user and group of researchers, how would one approach towards getting user requirement? The following approach need to be done in order to effectively elicit requirements. Ask questions to Subject Matter Expert to fully understand the business process and project proposal, define the scope. Identify different set of user for the application. Understand the concern and the perspective of each set of user and to identify How exactly is each set of users want to use the application? What exactly the user want from the system? What value does application provide to the user? High Level Use case Model story boarding, SME, Users Identify different privileges that each set of user will be assigned. Prepare different set of questions for different users and try to get as much as information. This might be an iterative process. Set up meeting with different users. Conduct interviews or record the session with the different set of users. What do you want to change? Why do you want to change? How would you like to do it? Is there anything else that you do? Asking over and over to get more information. Go to the user site and ask them for any documentation they might be maintaining to fully understand what exactly they are looking from the application. Request each set of users to review the requirements and Sign-off the documents, to avoid conflicts at a later stage. Create the Business Model for better understanding and visualization of the business process. Create the final FRS based in URS once finalized by the technical team. FAQ 13: How exactly does one convey the understanding to the users? Make it as simple as possible. Create Power Point presentation or request the graphic designer or developer to create the prototype of the system and set up a meeting with user and walkthrough the whole application, giving them clear picture of what exactly the application will look like and also take the feed back from them. Also create templates for the user to submit any changes so they can effectively request the change.
Page 40