requirement and initial analysis
DESCRIPTION
Requirement and Initial Analysis. Imam Bukhori, S.ST. Starting the Development Process. This module focusses on the following: Initiating a system development effort Analyzing the initial workflows Gathering information Creating a Problem Statement Creating Use Cases - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/1.jpg)
Requirement and Initial Analysis
Imam Bukhori, S.ST
![Page 2: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/2.jpg)
Starting the Development Process
This module focusses on the following: Initiating a system development effort Analyzing the initial workflows Gathering information Creating a Problem Statement Creating Use Cases Introducing Component and Deployment
diagram
![Page 3: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/3.jpg)
Gathering Information
You can gather information from several sources, including:
Customer’s initial requirement specification Domain Experts Customers and users Managers Input from marketing Previous projects
![Page 4: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/4.jpg)
Avoiding Traditional Assumptions
You must avoid traditional assumptions, such as the following:
Users are naïve, developer know best Requirements are static You can build a correct solution the
first time Remember that projects evolve, and
customer requirements can change
![Page 5: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/5.jpg)
Avoiding Traditional Assumptions
Do the following: Clearly identify the user’s requirements Ensure that your model can adapt to evolving
requirements Ensure that you can change your model
![Page 6: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/6.jpg)
Domain Experts Refers to specialist in a particular area of
business Can be broadly subdivided into:
General domain experts Application-specific domain experts and
current business domain experts Similar business domain experts
![Page 7: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/7.jpg)
Problem Statement Is document that clearly describes the
customer and system requirements for a project
Customer input is critical for this document Uses business domain language Has clear sentences, no jargon Contains details on project scope Specifies the context of the problem Specifies any known constraints
![Page 8: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/8.jpg)
Key UML Diagrams
Use Case Diagram Shows who or what uses the system and
its feature Users of the features in a use case
diagram are called “actors” Use Case is shown as an ellipse For ease in modeling, Use Case diagrams
need to be prioritized
![Page 9: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/9.jpg)
Problem Domain Refers to a statement that clearly identifies
new system-specific areas and problems Can be graphical or textual
![Page 10: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/10.jpg)
Candidate Objects and Classes Identified from the Problem Statement Underline noun phrases from the Problem
Statement to build the list of candidate objects and classes
![Page 11: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/11.jpg)
Sample ProblemThe Bay View Hotel requires a computer software package to facilitate the
automation of many manual tasks performed by the hotel staff. The package will be produced in several releases.
Release 1 covers the areas that are causing the most problems with the manual system. This document describes Release 1
ProblemThe hotel contains a number of hotel rooms available for hire to guest. The
information relevant to each room is :• Room number• Basic price• Maximum occupancy• Type of room (single, double, twin, executive, suite)The price of a room is the basic room price with any seasonal price adjustments
addedPotential guest can reserve one or more rooms for a specific period using the
telephone. These reservations are handled by the booking derks ( or departure date).
![Page 12: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/12.jpg)
Simple ProblemA search is made for the availability ofrooms for the dates required. If successful, the customer is informedthe details and price.If accepted, a provisional reservation is made. This provisionalreservation is held for a duration entered by the booking clerk. Theprovisional reservation is modified to a firm reservation when adeposit payment is received and confirmed. This can be at the time ofthe initial reservation.The receptionist can also make a reservation for potential guests whoarrive without a reservation, the deposit payment must be made at thetime of initial reservation.It is noted when guests check in, at which time a specific room isassigned of the type required, and when the guest checks out.The room telephone is enable/disabled at checking/check outrespectively. This is done using a telephone call logging monitor.
![Page 13: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/13.jpg)
Candidate Object and Class
![Page 14: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/14.jpg)
Data Dictionary A document describing all the vocabulary
used in a project Entries are gathered with user interviews Stays for the entire length of the project and
the system Adds new terminology during the project Satisfies the need for a common vocabulary Assists in avoiding ambiguity Must be easily available to all project team Needs frequent, carefully controlled updates
![Page 15: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/15.jpg)
Data Dictionary base Hotel Problem Room NumberA number that uniquely identifies a room within a hotel. The
starting digit indicates the floor on which the room is located. The range is from 1 to 780
Basic PriceThe flat rate price without any additional services or special deals.
Maximum OccupancyEach room has a specific number of guests that it can safely and
comfortably accommodate
Type of RoomA room type, for example, single, double, twin, or executive. The
room type depends on the size, position, furnishings, and additional facilities
![Page 16: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/16.jpg)
Data Dictionary base Hotel Problem Check InWhen the guest arrives at the hotel and requests the allocation ofrooms reserved earlier.
Check OutWhen the guest leaves the hotel after settling the bill.
ReceptionistA member of the hotel staff specifically responsible for checkingin/out guests and making bookings for potential guests who arrivewithout an advance reservation.
Booking ClerkA member of the hotel staff specifically responsible for takingreservations.
![Page 17: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/17.jpg)
Data Dictionary base Hotel Problem Provisional ReservationThe logging of a request for a specific number of rooms of a
specifiedtype, for a specified period of dates. Rooms will be held for thisreservation for a specific period. If no confirmation is obtained
withinthis period, the reservation will be canceled and the rooms will bemade available for reallocation.
![Page 18: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/18.jpg)
Creating Use Cases A Use Case is a graphical and
schematic representation of a user’s interactions with a system
Assists in understanding system requirements and context
Graphically shown as an ellipse with solid lines
![Page 19: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/19.jpg)
Creating a Use Case Model Comprised of several Use Cases Components are :
Actors Use Cases System Generalization and association
relationships
![Page 20: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/20.jpg)
Sample Use Case Diagram
![Page 21: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/21.jpg)
Sample Use Case add Actor
![Page 22: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/22.jpg)
Sample Use Case with additional Dependency
![Page 23: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/23.jpg)
Sample Use Case Diagram with New Extension Point
![Page 24: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/24.jpg)
Use Case Scenarios Use Cases show a function from the user’s
perspective A scenario refers to one instance of a Use
Case Scenarios do not contain conditional
statements Begin the same way, but can end differently Major scenarios should be written Successful and unsuccessful paths through a
Use Case should be shown
![Page 25: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/25.jpg)
Use Case Form To Write Use Case Scenario you need Use
Case Form Item of Use Case Form :
Name of the Use Case Actor involved Priority Status Extension points and includes Preconditions / Assumptions Post conditions Flow of events Alternative paths Performance Frequency
![Page 26: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/26.jpg)
Sample Use Case Form
![Page 27: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/27.jpg)
Activity Diagram
Show activities, processes, or workflows Are graphical Used anywhere you need to model
activities Modeling a Use Case is just one example
![Page 28: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/28.jpg)
Activity Diagrams
Includes the following elements: Activities Decision Spilt of control Merge of control Iteration Object flow Swimlanes
![Page 29: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/29.jpg)
Activity Diagram Notations
![Page 30: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/30.jpg)
Sample Activity Diagram
![Page 31: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/31.jpg)
Risk Assessment Need to asses risk areas for the project Use Cases can be the starting point for risk
assessment High risk Use Cases should be developed in
early iterations Risk can be in the following areas:
Requirements risk Technology risk Skill risk Resources risk Political risk
![Page 32: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/32.jpg)
High-Level Package Diagram UML has notation to package any UML
elements ( classes, objects, Use Cases, incremental artifacts, and so on)
Notation similar to a folder icon Helps break down complexity Dependencies can be shown between packages Packages help in doing the following:
View the big picture without too much detail View small portions independently Create small portions to work in sections
![Page 33: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/33.jpg)
Package Diagram Example
![Page 34: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/34.jpg)
Sample High Level Architectural Package
![Page 35: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/35.jpg)
Introducing Component Diagrams
Show components ( physical packaging of code )
Shows dependencies between components
Components can be nested Can be grouped into UML packages
![Page 36: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/36.jpg)
Examples of Component Diagrams
![Page 37: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/37.jpg)
Another Example Component Diagram
![Page 38: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/38.jpg)
Introducing Deployment Diagrams
Show physical relationships between hardware components
Can be added at any stage Can be amended when additional
information is known Nodes can show components within
them Connection between nodes is shown
along with protocol
![Page 39: Requirement and Initial Analysis](https://reader035.vdocuments.us/reader035/viewer/2022062309/568147ac550346895db4ea3a/html5/thumbnails/39.jpg)
Example Deployment Diagram