You are on page 1of 53
Use Cases Itis a sequence of transactions performed by the system that yields a measurable result of values for a particular actor They model a dialogue between an actor and the system They define ways the system may be used Describe how the system should interact with the end user or another system to achieve a specific business goal Technique for capturing the potential requirements of a new system or software change Use Case Modeling * Is gathering, analyzing and documenting a description of the core, essential business——— processes, data and business rules + Independent of technology Use Case Relationships An association relationship may exist between actor and an use case called the communicate association — This is referred as such because it represents communication between the actor and the use case The communication may be navigable in both directions (actor to use case and use== > case to actor) or it may be navigable in only one direction (actor to use case or uSes==== cast to actor) There are 2 types of relationships that may exist between use cases — Include — This type of relationship are created between new use case and any other use case that uses its functionality. For example a online transactions performing use case could start with validated the credentials of the user. This functionality can be captured in the User Verification use case, which is then u sed by other use cases as and when needed. ~ Extend- This type is used to show an optional behavior that is run only under certain conditions such as triggering an alarm. Contents of Use Case Document Introduction Actors Uses Flow Pre — Conditions Post - Conditions Triggers Main Flow Alternate Flow Functional Requirements Frequency of Occurrence Assumptions Best Practices > > > > Focus on completeness for each of the following elements in a use case Activities / steps in the flow Rules Requirements Data elements * Analyze each element to identify gaps and inconsistencies in the information * Ensure to use consistent language, grammar and sentence structure * Visualize testing the entire Use Case real scenarios Use Case Activities or Steps + The activities in a Use Case are framed by - A\current state, a static condition from which the process begins. In a Use Case this is a pre condition - One or more events will cause a change in the current state. In a Use Case this is a trigger - A\future state at which the process ends. In a Use Case this is a post — condition. (Note- A requirement does not have a pre — post conditions) - Before referencing a Use Case make sure it exists otherwise define the boundaries (pre / post conditions) and manage integration with the respective teams if necessary Activity Diagram *Activity diagrams describe the workflow behavior of a system “Activity diagrams are typically used for business process modeling or for modeling the detailed logic of a business rule Acomplex operation > Acomplex business rule > Asingle use case » Several use cases > Abusiness process Initial Node — The fil ircle is the starting point of the diagram. It is not required although it does make it significantly easier to read the diagram GC Final Node- The filled circle with a border is the ending point. An activity diagram can have zero or more activity final nodes O Activity — «The rounded rectangles represent activities that occur. An activity may be physical, such as Inspect Forms, or electronic, such as Display Create Student Screen Flow/ + The arrows on the diagram Fork = + Ablack bar with one flow going into it and several leaving it. This denotes the beginning of parallel activity ———— ; —— Join- * Ablack bar with several flows entering it and one leaving it. All flows going into the join must reach it before processing may continue. This denotes the end of parallel processing ———— ———— ep Condition — + Text such as on a flow + Adiamond with one flow entering and several leaving. The flows leaving include conditions although some modelers will not indicate the conditions if it is obvious Merge - + Adiamond with several flows entering and one leaving. The implication is that one or more incoming flows must reach this point until processing continues. Partition- Itis organized into three partitions, also called Swim lanes, indicating who/what is performing the acti Goals of UML Provides users with ready to use expressive visual modeling Fumish extensibility and specialization mechanisms to extend the core functionality and concepts Support specs that are independent of the development process Support higher level development concepts like components, modules and frameworks Integrate and use the best practices Basics of UML Actors — > > They represent anyone or anything that must interact with the system. An actor may only input information to the system, only receive the information from the system or input and receive information to and from the system Nostly the actors are found in the problem statement and by interaction with user groups and stakeholders. Actors can be identifies based on the following — Who is interested in the requirements Where in the organization is the system used Who will benefit from the use of the system Who will input and use the information Who will support the system Process Modelling & DFDs Process model: +A formal way of representing how a business system operates Data-flow diagramming: «A common technique for creating process models +Logical process models describe processes without suggesting how they are conducted. *Physical process models provide information that is needed to build the system Elements of a DFD Process: * A process solves a part of requirements. It alters, converts, or controls the flow of data in a system * {tcan be either manual or automated Typical processes 1) Recording data and classify data 2)Checking, sorting documents into order 3)Matching one document with another 4)Calculating. creating a new document Jata or a iogical collection of data r ands at a process organization unit, or system — any such external is with the system is an external agent. efine the boundary or scope of a system being external agents can become processes, and 2 of the following: , divisi ¢ Ap exteraal organization or agency formation system rept c reading, file or database (called a data satic representation of the 1 processes showing: eves the system rere informetion is presentation and communication Pnical staff mec es Useful to 2 Clarifies the syste a gance the Scope and Boundaries Interface wit Cont.. A Data Flow Diagram is a diagrammatic representation of the information flows within a system processes showing: — How information enters and leaves the system what changes the information where information is stored — May be used as a communications tool between a systems analyst and any person who plays « par ne system — To act as the starting point for redesigning a system Viodeling Data moc Gg thé data that are used and nl d things about which data hips among them ata without indicating how it late. ually be stored in databases 3 ane'ysts use to validate i created milar kinds of nformation show relatic among also showr that are fe ad when the ine instance of an ity rnust exist oher to ex st sel ore appoirn’ ments for ' can be Data Normalization organization Use Case Modeling « Use Case Modeling is an effective technique to describe a business area model if properly used Use Cases It is a sequence of transactions performed by the system that yields a measurable result of values for a particular actor They model a dialogue between an actor and the system They define ways the system may be used Describe how the system should interact with the end user or another system to achieve a specific business goal Technique for capturing the potential requirements of a new system or software change Use Case Modeling Use Case Modeling is an effective technique to describe a business area model if properly used Use Case Modeling Is gathering, analyzing and documenting a description of the core, essential business processes, data and business rules atl ae, Independent of technology Unified Model Language >Language used for specifying, visualizing, constructing and documenting the artifacts of software systems. >Represents a collection of the best practices proven successful in the modeling of system >The UML provides the tools to design software systems >The UML allows designing and planning the applications before we start coding. This helps in identifying any faults in the design }Software models constitute of various diagrams” that use graphics to represent how the system will function and how the ual pieces of the system fit together and interact with each other (* These are pictures of the system that is being designed) >No standard process exists in UML — the process followed to create the diagrams is not part of UML) Why Model 1. Developing a model for software system before coding is essential as it helps communicating among project teams and ensure architectural compatibility and capability A modeling language should include fundamental modeling concepts, visual rendering of model elements and guidelines. Models are helpful in understanding the problems, communication with the user groups, developers, SME's etc Modeling helps better understand requirements UML defines the following graphical diagrams — Use Case Diagram Class Diagram Behavior Diagrams (State Chart Diagram, Activity Diagram) Interaction Diagram (Sequence Diagram, Collaboration Diagram) implementation Diagrams (Component Diagrams, Deployment Diagrams) Package Diagram Unified Model Language > Language used for specifying, visualizing, constructing and documenting the artifacts of software systems. > Represents a collection of the best practices proven successful in the modeling of system >The UML provides the tools to design software systems >The UML allows designing and planning the applications before we start coding. This helps in identifying any faults in the design >Software models constitute of various diagrams* that use graphics to represent how the system will function and how the individual pieces of the system fit together and interact with each other (* These are pictures of the system that is being designed) >No standard process exists in UML — the process followed to create the diagrams is not part of UML) Why Model 1. Developing a model for software system before coding is essential as it helps communicating among project teams and ensure architectural compatibility and capability 2. A modeling language should include fundamental modeling concepts, isual rendering of model elements and guidelines. 3. Models are helpful in understanding the problems, communication with the user groups, developers, SME’s etc 4. Modeling helps better understand requirements 5. UML defines the following graphical diagrams — Use Case Diagram Class Diagram Behavior Diagrams (State Chart Diagram, Activity Diagram) Interaction Diagram (Sequence Diagram, Collaboration Diagram) Implementation Diagrams (Component Diagrams, Deployment Diagrams) Package Diagram Goals of UML * Provides users with ready to use expressive visual modeling * Furnish extensibility and specialization mechanisms to extend the core functionality and concepts * Support specs that are independent of the development process * Support higher level development concepts like components, modules and frameworks * Integrate and use the best practices Basics of UML Actors ~ > They represent anyone or anything that must interact with the system. An actor may only input information to the system, only receive the information from the system or input and receive information to and from the system > Mostly the actors are found in the problem statement and by interaction with user groups and stakeholders. Actors can be identifies based on the following — ‘Who terested in the requirements Where in the organization is the system used Who will benefit from the use of the system Who will input and use the information Who will support the system SYSTEMS DEVELOPMENT LIFE CYCLE Conceptual Model used in an Information System Development Project from initial fea: 'y through maintenance of the completed application. -Various methodologies developed over a period of time >Waterfall Model (Original SDLC method) > Rapid Application Development (RAD) > Joint Application Development (JAD) >Spiral Model + Core Steps involved in SDLC >If an existing system, its deficiencies are identified by interviewing users and support teams »The new system requirements are defined including addressing any deficiencies in the current system »The proposed system is designed (including details regarding hardware, operating systems, programming, software usage and security issues) >The new system is developed and new components / programs are obtained and installed. The users of the system are trained in its use and end — end performance must be tested. (Any required changes must be made at this stage) »The new system is deployed into production environment (Phase wise by gradually replacing the old system or complete deployment of the new application) »Once the new system is implemented, it must maintained rigorously at all times (The users must be kept up — to — date regarding all the enhancements that are implemented) Phases of SDLC * Feasibility — Used to determine if the project should get a go ahead. If the project is to proceed, the feasibility study will produce a project plan and budget estimates for the complete lifecycle of the project * Analysis & Design — Analysis involves gathering requirements for the new system. This stage includes a detailed study of the business requirements. Design focuses on what programs are needed including high level and low level design (interaction between individual programs), identifying, analyzing how the UI will look. *(Analysis & Design are very important in the whole SDLC. Any glitch in this phase will be very expense to solve at a later stage) * Implementation — In this phase of SDLC the design is transformed into code. Software programs are written by the development teams using different programming languages like C, C++, Java, .NET . Based on the type of application the programming language is selected * Testing — In this phase the system is tested. The system is tested to ensure that all its interfaces work on the intended platforms and with expected volume of data. * Maintenance — All software systems need maintenance as they undergo changes based on the customers future business needs. Waterfall Methodology »Structure of Waterfall Model Plan Analyze Specify Design Develop Implement Test Operate *Provides an orderly sequence / structure of development steps (*move to next phase only when its preceding phase is completed and perfected fo jumping back and forth or overlapping between phases is allowed) Ensure complete documentation and reviews to ensure quality, liability, and maintainability Known to be slow but illustrates sound principles of lifecycle development. «Work done in stages *Reviews conducted between stages — based on reviews next steps are con ued *Strengths(clear project obecNeS inexperienced teams, measurable progress of the system, team composition can be unstable, formal sign — off on requirements) «Weakness (extensive documentation, time consuming, difficult responding to changes VVVVVVVV Spiral Methodology Spiral model reflects relationship of tasks and quick prototyping, increased parallel work. Evolves intermediate work products that represent elaboration at each step in the development lifecycle. Involves incremental improvement when compared to waterfall methodology Errors / mistakes in Requirements can be corrected Feedback can be provided by the development team on the viability of the new system to the requirements team and user groups New advances made can be incorporated by the design / development teams Number of cycles might grow more than expected No constraints involved as there is an opportunity to fix them later (Requirements canchange dynamically) The design / development / architecture teams is not given a complete picture of the product Strengths (experienced PM, risk is avoided, additional functionality can be added at a later date, other methodologies can be incorporated) Weakness (applied differently for each application, risks of delays and over budget) Prototyping Model A\prototype is a elementary working model of a product built for demonstration or as part of the development process Abasic version is built, tested and then reworked until an acceptable prototype is finally achieved from which a complete system or product can now be developed New objects are created copying the prototype Small complete parts are delivered and additional functionality is added with new implementations Strengths(strong dialogue between users and developers, missing functionality is easily identified, requirements validated, quick implemented functionality, unclear objectives can be resolved, flexible designs) Weakness(may not involve enough checks and balances, possibility of adding additional functionality without proper evaluation of prototype, approval process is not formal, requirements can change frequently) Rapid Application Development (RAD) Methodology RAD proposes that quality products can be developed faster and of higher quality saving value resources Uses workshops and focus groups to gather requirements Involves prototyping and testing of designs by user groups FReuses software components Follows a schedule and involves review meetings in informal way Strengths (flexibility for scope changes, ability to identify limitations, deliverables are faster) Weakness(not suitable for large projects, high requirement of resources for RAD teams, high commitment required from all teams) Joint Application Development (JAD) Methodology JAD aims to involve user groups in the design and development of the application through series of workshops / meetings called JAD sessions Involves shorter development times and greater user satisfaction and involvement throughout the lifecycle Most requirements gathered during series of meetings with users EXTREME PROGRAMMING (XP) Methodology V OVO, VY Yo Addresses ongoing changes in requirements Aims at lowering the cost of change in requirements

Project Management workflow (It is an art of balancing competing objectives, mana; risk, and overcoming constraints to deliver successfully, a product that meets the ne stakeholders and user groups, is not a recipe for success, but presents an approact managing project that will markedly improve the odds of delivering successful softw: > Configuration and Change Management workflow (The description on how to contra numerous artifacts produced by the many people who work on a common project. h avoiding confusion, and ensures that resultant artifacts are not in conflict due to son the following kinds of problem- Simultaneous Update, Limited Notification, Multiple Versions. This workflow provides guidelines for managing multiple evolving software systems, tracking which versions are used in given software builds and also describ to can keep an audit trail on why, when and by whom any artifact was changed) > Environment workflow (This provides the software development organization with th software development environment—both processes and tools—that are needed to the development team focusing on the activities to configure the process in the cont project. A step-by-step procedure is provided describing how to implement a proces organization. he environment workflow also contains a Development Kit providing y« the guidelines, templates and tools necessary to customize the process) WOON MEN NE ENE NEO ESSENTIALS OF RATIONAL UNIFIED PROCESS Vision — Develop a Vision Plan — Manage to the Plan Risks — Identify and Mitigate Risks Issues — Assign and Track Issues Business Case — Examine the Business Case Architecture —- Design the Architecture Product — Incrementally Build and Test the Product Evaluation — Regularly Assess Results Change Requests — Manage and Control Changes User Support — Provide Assistance to the User INTEGRATION OF RUP WITH TOOLS v Tools to support all activities in a system's lifecycle, especially supporting the develc and maintenance of various artifacts. Tools help to keep track of changes, support requirements traceability and automate documentation and the testing process. RUF be used with a variety of tools. Some Rational tools that support the Rational Unified Process are listed below — Rational Requisite Pro (easy to use requirements management tool, enables to kee] everyone informed of the most current requirements information) Rational SODA (publishing tool, enables to create custom and standardized up-to-di reports, enables uniform retrieval of data from various sources) Rational Clear Quest (manages change requests, defects, and issues, enables easy customization of defect) Rational Clear Case (Manages all artifacts in the development process, helps track versioning and activities for code) Rational Rose Data Modeler (An highly developed modeling tool, helps visualize the architecture of the database and how it ties into the application PMS- Was involved in building a web based intranet application namely PMS where new marketing Partners can be launched by the Relationship Mangers (partnership-marketing group). PMS would be used by the (RM) to capture And maintain minimal partner information related to the initiation of a Business relationship with the business partners Information gathered will include details about the partner, definition of source codes ( used for unique identification of partner), specifications for the landing pages Once the partner specific information is gathered, the relationship Manager would “launch” the marketing partner using the application. In doing so, the partner specific information is moved into the production servers ‘The partnership is considered “live” when the RM sends the URL for the partnership web page to the business counterpart. The scope of the project was to * Provide a GUI (Graphical user Interface) framework to capture Information of marketing partners * Provide the ability to search marketing partner (partners) Provide a facility to allow muitiple users to login and access the PMS (there are around 8-10 Relationship managers who all can access the PMS simultaneously) Provide the ability to create and add source codes for partners Create or modify footer and contact information Upload and modify rate tables Upload and modify style sheet — (Related to the Look and Fee!) Create, modify and update landing pages ( Standard, Informed, custom, co-branded) * Create, modify and update the FAQ section ‘Scope ~ The user should be allowed to create a profile ‘Actor = Team Member Main Flow — = a Tt System Response M1 User selects to create a Profile The: ‘System prompts the User to: selec | op purpose of the profile i | | | | M2 ‘The User selects the purpose of the ‘The System prompts the User if he wishes to profile choose more than profile M3 ‘The User selects ‘Yes’ or ‘No’ | The System saves the User input and displays the list of profiles for the user to | select M4 | “The User selects the profiles ‘The system displays the User selections MS | Use Case Ends Post Conditions ‘The user selected profile has been added. FR's~ ‘The System must allow the User to select the purpose of the profile “The System must display an option for the User to choose multiple profiles (Y/N) ‘The system must provide the user with facility to choose the profile from @ drop down list, | System prompts the user to select the urpose of he protie "Tee system prompt usarithe wishes | (Solana meson oe ‘Scope — The user should be allowed to copy evailable client data and create one or more set of the data and create a unique name for each set of data ‘Actor — Team Member Mi | User selects the client data to be “The system highlights the group of selected copied data W2__| User choose to copy the data “The system prompis the User to entera value for the number of data sets to be created UMS The user enters the desired number of | The System generates the specified number | | data sets of copies of data sets | | | The System prompts the User to enter a | | unique name for each data set | Wa | User enters unique name each newly | System checks that all data seis havea | generated deta set and chooses to | unique name | save | | | | Wall data sets have a unique name, System saves newly generated data sets | Else, if one or more data sets do not have a | unique neme, system proceeds to At | l J Alternate Flows: ‘i Ait |p ‘System displays waming message" ] "One or more newiy generated data sets is missing 8 unique name. Only data sets with ‘unique name will be saved. Do you wish to continue” (OKICance!) Riz | a The User selects "OK" ‘@. System saves and anon unique data sets are not saved | », Else the User selects "Cancer ». Else, directs the User M3 Post-Condition(s): A group of new data sets have been copied and assigned unique names \ te system ighights the selected data the data ang generates the | sires number of | (et ects | prompts the user to input unique name for each the user rama tna | | | ? | | | x each | 7 easiens ; | | | ay Y | } i ] . f ‘system | ant to exit | [nega es | dente eran | comet Jer chocee tent] Tey

You might also like