Business Modeling
and Requirements
Perancangan Sistem Informasi 2008
1
Tujuan :
Memahami peran software terhadap
proses bisnis customers.
Mengumpulkan permasalahan dan
solusi yang bisa ditawarkan dengan IT.
Menentukan fitur apa saja yang ada
dalam sistem.
Menuangkan features ke dalam
kebutuhan fungsional dan non-
fungsional sistem.
2
The Problem Domain
Users +
other Stakeholders
Needs
Challenge: understand
the problem to be solved Stakeholders: anyone who could be
materially affected by the
implementation of a new system or
application.
3
Moving Toward the Solution Domain 1
Needs
Problem
Domain
Features: a service that the system
FEATURES
provides to fulfill one or more stakeholder
needs.
Examples:
• The system will prevent intruders
• The system will have automatic backup
• Web-enabled entry for sales orders
4
Moving Toward the Solution Domain 2
Needs
Problem
Domain
FEATURES
Solution Domain
Software
Requirements
5
Problem/Solution Domains
RUMAH SAKIT
Problem space
Stakeholder Request: Diperlukan mekanisme pelaporan yang
real time dan komprehensif tentang data statistik pasien.
……
Solution space
FEATURES:
• Sistem mampu mendeteksi kekurangan obat yang dalam waktu
dekat akan habis/kedaluwarsa
• Sistem mampu menampilkan data rekam medis pasien yang
paling up to date
• Sistem mampu menyajikan laporan tingkat hunian dan data
statistik pasien dan alokasi dokter – unit layanan 6
Problem/Solution Domains
Solution space
USE CASE:
- Mengupdate data rekam medis pasien
- Melihat informasi ketersediaan layanan RS
- Melihat informasi ketersediaan kamar, dokter dan spesialist
- Melihat informasi tagihan
SUPPLEMENTARY:
- Response time pelayanan informasi tidak lebih dari 1 menit
- Kompilasi data statistik real-time maximum 1 menit.
7
Use Case Defines System Boundaries
Goal: Menjalani rawat inap
HOSPITAL
RM
Petugas Medis Application
Petugas RM
Keluarga karyawan
9
Requirement Pyramid
Stakeholder need: a requirement from
a stakeholder
Feature: a service provided by the
system, usually formulated by a
business analyst; a
purpose of a feature is to fulfill a
stakeholder need
Use case: a description of system
behavior in terms of sequences of
actions
Supplementary requirement: another
requirement (usually nonfunctional)
that cannot be captured in use cases
Test case: a specification of test
inputs, execution conditions, and
expected results
Scenario: a specific sequence of
actions; a specific path through a use
case
10
Good Requirement
Unambiguous
Testable (verifiable)
Clear (concise, terse, simple, precise)
Correct
Understandable
Feasible (realistic, possible)
Independent
Atomic
Necessary
Implementation-free (abstract)
11
Unambigous
REQ1 The system shall be implemented using ASP.
12
Unambigous
REQ1 The system shall not accept passwords longer than 15
characters.
13
testable
REQ1 The search facility should allow the user to find a reservation based on
Last Name, Date, etc.
In this requirement, all search criteria should be explicitly listed. The designer
and developer cannot guess what the user means by “etc.”
Other problems can be introduced by ambiguous words or phrasing:
Modifying phrases: as appropriate, as required, if necessary, shall be considered
Vague words: manage, handle
Passive voice: the subject of the sentence receives the action of the verb rather than
performing it
Indefinite pronouns: few, many, most, much, several, any, anybody, anything,
some, somebody, someone, etc.
16
Understandable
Requirements should be grammatically
correct and written in a consistent style.
Standard conventions should be used. The
word “shall” should be used instead of “will,”
“must,” or “may.”
17
Feasible (Realistic, Possible)
The requirement should be doable within
existing constraints such as time, money, and
available resources:
REQ1 The system shall have a natural
language interface that will understand
commands given in English language.
This requirement may be not feasible within a
short span of development time.
18
Independent
Tounderstand the requirement, there should
not be a need to know any other requirement:
REQ1 The list of available flights shall include
flight numbers, departure arrival time for every leg
of a flight.
REQ2 It should be sorted by price.
The word “It” in the second sentence refers to
the previous requirement. However, order of
the requirements changes, this requirement
will not be understandable.
19
Atomic
The requirement should contain a single traceable
element:
REQ1 The system shall provide the opportunity to book the
flight, purchase a ticket, reserve a hotel room, reserve a
car, and provide information about attractions.
This requirement combines five atomic
requirements, which makes traceability very difficult.
Sentences including the words “and” or “but” should
be reviewed to see if they can be broken into atomic
requirements.
20
Necessary
A requirement is unnecessary if
None of the stakeholders needs the requirement,
or
Removing the requirement will not affect the
system.
21
Implementation-free (Abstract)
Requirementsshould not contain
unnecessary design and implementation
information:
REQ1 Content information shall be stored in a
text file.
How the information is stored is transparent
to the user and should be the designer’s or
architect’s decision.
22
Consistent
There should not be any conflicts between
the requirements. Conflicts may be direct or
indirect. Direct conflicts occur when, in the
same situation, different behavior is
expected:
REQ1 Dates shall be displayed in the mm/dd/yyyy
format.
REQ2 Dates shall be displayed in the dd/mm/yyyy
format.
23
Consistent
REQ1 For users in the U.S., dates shall be
displayed in the mm/dd/yyyy format.
REQ2 For users in France, dates shall be
displayed in the dd/mm/yyyy format.
Thiscan eventually lead to the following
requirement:
REQ3 Dates shall be displayed based on the
format defined in the user’s web browser.
24
Consistent
Indirect conflict occurs when requirements do not describe the
same functionality, but it is not possible to fulfill both
requirements at the same time:
REQ1 System should have a natural language interface.
REQ2 System shall be developed in three months.
29
Business Use Case Model
Enterprise
DepKes
Memonitor Kinerja RS
Memonitor
Ketersediaan dan
Status Obat
PB Farmasi
31
Business Object Model (BOM)
Enterprise
Business Worker
Business Actor
Business Entity
Bukti Berobat
Petugas Reservasi
Pasien Petugas Unit
Layanan
Rekam Medis
33
Stakeholder Requests
The purpose of this artifact is to capture all requests made on the
project, as well as how these requests have been addressed.
Although the system analyst is responsible for this artifact, many
people will contribute to it: marketing people, end users, customers—
anyone who is considered to be a stakeholder to the result of the
project.
Examples of sources
Results of stakeholder interviews
Results from requirements elicitation sessions and workshops
Term of Reference (TOR)
Statement of work
Request for proposal
Mission statement
Problem statement
Business rules
Laws and regulations
Legacy systems
Business models
34
Stakeholder Requests
A system analyst is responsible for the
integrity of the Stakeholder Requests
artifact, ensuring that:
All stakeholders have been given the
opportunity to add requests.
All items in this artifact are taken into
consideration when developing detailed
requirements in the use-case model and
the supplementary specifications.
35
Activity Diagram “Berobat Jalan”
36
Activity
Diagram
“Open
Registration”
37
Activity
Diagram
“Make an
Order”
38
Going from Business Models to
Systems
Business workers become the actors to the system.
Behaviors described for business workers are things that can
be automated.
Business entities are things we may want the
system to help us maintain → entity class in
analysis model.
39
Contoh: System Use Case Model
Actor
Boundary Controller
40
Use Case Diagrams
System
UC A
UC B
Actor X Actor Y
UC C
42
Systems and their boundaries
POST
Authorization
Buy Items System
Log In
Cashier
Refund Purchased
Items
Repository
System
43
Systems and their boundaries
POST Checkout
Buy Items
Customer
Refund Purchased
Items
44
Software Requirement
Specification
45
FURPS+
Functionality (behavior use cases)
Usability (typical users and operational envrmt)
Reliability (Availability, MTBF, MTTR, Accuracy)
Performance (Response time, throughput,
capacity, degradation modes)
Supportability (ability to be easily modified to
accommodate enhancements and repairs)
+(Constraint) (restrictions on design)
46
Functional Requirements
These requirements generally represent the
main product features. In a warehouse
application, we might have requirements
pertaining to order processing or stock
control, for example. However, functional
requirements are not always domain-specific.
Providing printing capability is a functional
requirement of particular significance to
architecture, for example.
47
Functional Requirement
Function Description
Licensing Provide services for tracking, acquiring, installing, and monitoring license usage.
Mail Provide services that allow applications to send and receive mail.
Provide support for moving documents and other work items, including review
Workflow
and approval cycles.
48
Usability, Reliability, Performance,
and Supportability Requirements
The remaining "URPS" categories describe non-
functional requirements that are generally
architecturally significant.
Usability is concerned with characteristics such as aesthetics
and consistency in the user interface.
Reliability is concerned with characteristics such as availability
(the amount of system "up time"), accuracy of system
calculations, and the system's ability to recover from failure.
Performance is concerned with characteristics such as
throughput, response time, recovery time, start-up time, and
shutdown time.
Supportability is concerned with characteristics such as
testability, adaptability, maintainability, compatibility,
configurability, installability, scalability, and localizability.
49
Design, Implementation, Interface,
and Physical Requirements
The "+" in the FURPS+ acronym is used to identify additional
categories that generally represent constraints.
A design requirement, often called a design constraint,
specifies or constrains the options for designing a system.
For example, if you specify that a relational database is
required, that's a design constraint.
An implementation requirement specifies or constrains the
coding or construction of a system. Examples might include
required standards, implementation languages, and
resource limits.
An interface requirement specifies an external item with
which a system must interact, or constraints on formats or
other factors used within such an interaction.
A physical requirement specifies a physical constraint
imposed on the hardware used to house the system —
shape, size, or weight, for example.
50
Fit Criterion
The idea is for each requirement to have a quality
measure that makes it possible to divide all solutions
to the requirements into two classes: those for which
we agree that they fit the requirement and those for
which we agree that they do not fit the requirement.”
Source: Christopher Alexander, Notes on the Synthesis of Form.
51
Define the fit criterion! (1)
Domain: Music Online Store
Description: Sistem harus mempermudah pembeli
untuk menemukan musik pilihannya.
Fit Criterion: Pembeli dapat menemukan musik yang
dicari rata2 dalam waktu enam detik dengan tidak
lebih dari 3 langkah.
Refined Fit Criterion: 90% pembeli dapat
menemukan musik yang dicari rata2 dalam waktu
enam detik dengan tidak lebih dari 3 langkah.
52
Define the fit criterion! (2)
Domain: graphical tool untuk menggambar peta.
Description: The product shall be user-friendly.
Fit Criterion: Pengguna baru dapat menambah,
mengubah dan menghapus komponen peta (jalan,
bangungan, persimpangan) dalam waktu 30 menit
sejak pertama kali menggunakan aplikasi.
Refined Fit Criterion: Dalam tiga bulan pertama
produk dipakai, 60% pengguna memanfaatkannya
untuk menyelesaikan pekerjaan rutin. Dari
pengguna baru tersebut, produk harus dapat
diterima oleh 75% tingkat kepuasan.
53
Define the fit criterion! (3)
Domain: graphical tool untuk menggambar peta.
Description: The product shall be intuitive.
Fit Criterion: Engineer harus bisa melakukan koreksi
dalam waktu 10 menit sejak ditemukannya
kesalahan tanpa referensi ke user manual.
Refined Fit Criterion: 90% engineer dapat
menyelesaikan tugasnya untuk ….. (daftar tugas) …
setelah mengikuti 4 jam pelatihan.
54
USE CASE
55
What is Use Case?
A use case describes a sequence of actions of a
system performs that yields a result of value to a
particular actor.
Use Case
56
What kind of services ….
does an ATM provide?
57
Use Case and Domain Process
❁ A use case describes a process.
❁ A process describes, from start to finish, a
sequence of events, actions, and
transactions required to produce or complete
something of value to an organization or
actor.
❁ e.g. Withdraw cash from an ATM, Register for
courses at school, etc.
58
Identifying Use Cases
Actor-based:
1. Identify the actors related to a system or organization.
2. For each actor, identify the process they initiate or
participate in.
Event-based:
1. Identify the external events that a system must
respond to.
2. Relate the events to actors and use cases.
59
Actors
An actor is an entity external to the system who
in some way participates in the story of the use
case.
60
Actors (2)
❂ There is one initiator actor who generates
the starting stimulus, and possibly several
other participating actors.
❂ Kind of actors include:
❂ roles that people play
❂ computer systems
❂ electrical or mechanical devices
61
Find Actors
To find the actors, ask the following questions:
62
Use Case Diagrams
System
UC A
UC B
Actor X Actor Y
UC C
64
Systems and their boundaries
POST
Authorization
Buy Items System
Log In
Cashier
Refund Purchased
Items
Repository
System
65
Systems and their boundaries
POST Checkout
Buy Items
Customer
Refund Purchased
Items
66
Find Actors
67
Activity Diagram “Berobat Jalan”
68
Activity
Diagrams
(Optional)
69
Activity
Diagrams
(Optional)
70
Use Case Specification in ATM System
Withdraw Money
1. The use case begins when a client inserts a card into the
ATM. The system reads and validates information on the
card.
2. The system prompts for a personal identification number
(PIN). Client enters the PIN. The system validates the PIN.
3. The system asks which operation the client wishes to
perform. Client selects “Withdraw Money”.
4. The system requests the amount of withdrawal. Client
enters amount.
71
Use Case Specification in ATM System
Withdraw Money
1. The system request the account type. Client selects the
account type (checking, saving, credit).
2. The system communicates with the ATM network to validate
the account ID, PIN, and availability of the amount requested.
3. The system asks the Client whether a receipt is desired. This
step is performed only if there is paper available to print the
receipt.
4. The system asks the Client to remove the card. Client
removes the card.
5. The system dispenses the requested amount of cash.
6. The system prints a receipt, if required, which ends the use
case.
72
Use Case Specification
Examples
Use case: Buy Items
Actors: Customer (initiator), Cashier
Description: A Customer arrives at a checkout with
items to purchase. The Cashier records
the purchased items and collects
payment. On completion, the Customer
leaves with the items.
73
Use Case Specification
Actor Action System Response
1. This use case begin when a
Customer arrives at a POST
checkout with items to pur-
chase.
2. The Cashier records UPC 3. Determines the item price
for each item. and adds the item informa-
tion to the running sales
transaction.
74
Use Case Specification
Actor Action System Response
If there is more than one of The description and price
the same item, the Cashier of the current item are
can enter the quantity as displayed.
well.
75
A Common Mistake
with Use Cases
A use case is a relatively large end-to-end process
description that typically includes many steps or
transactions; it is not normally an individual step or
activity in a process, e.g. “printing the receipt”
76
Naming Use Cases
Name a use case starting with a verb in order
to emphasize that it is a process.
■ Buy Items
■ Enter an Order
■ Maintain Customer Profiles
77
Decision Points and Branching
1. Within the main section Flow of Events, indicate
branches to subsections.
2. Write a subsection for each branch, again using a
Flow of Events. Start the event numbering at one for
each section.
3. If subsections have alternatives, write them in an
Alternatives section for each subsection.
78
Include UC Relationship
ATM
Check Balance <<includes>>
<<includes>> login
Client Withdraw Money
<<includes>>
Transfer Money
79
Extend UC Relationship
Sistem Informasi
Perpustakaan
Mengembalikan <<extends>>
Buku
Menagih Denda
Petugas
Meminjam Buku
80
UC Scenario
81
Notes on UC Specifications
1. A UC description must include how and when the use case begins and
ends. Also, consider the possibility of any looping behavior within the
use case.
2. Be specific when defining the activities of an actor. Avoid using adverbs
(e.g. very, more, rather).
3. UC should not include technology considerations. It’s not solely created
for user interface specification. A UC should not contain any user
interface information (e.g. radio button, check box, drop-down menu).
4. Verify that all the functional requirements have been addressed in the
use case model. Scrutinize the specification carefully to ensure that all
requirements have been met by the various use cases.
82
Library Information System
Browse Catalog
Menambah Koleksi
Meng-konfirmasi
Undergrad Transaksi
Student
Memesan Buku Librarian
Meminjam Buku
Memesan Copy
Lecturer
Postgrad Memperpanjang
Student Pinjaman
83
Undergrad’s Point of View
Browse Catalog
Undergrad
Student
Memesan Buku Librarian
Meminjam Buku
Lecturer
Postgrad
Student
84
Postgrad’s Point of View
Browse Catalog
Undergrad
Student
Memesan Buku Librarian
Meminjam Buku
Memesan Copy
Lecturer
Postgrad
Student
85
Lecturer’s Point of View
Browse Catalog
Meng-konfirmasi
Undergrad Transaksi
Student
Memesan Buku Librarian
Meminjam Buku
Memesan Copy
Lecturer
Postgrad Memperpanjang
Student Pinjaman
86
Librarian’s Point of View
Browse Catalog
Menambah Koleksi
Meng-konfirmasi
Undergrad Transaksi
Student
Memesan Buku Librarian
Meminjam Buku
Memesan Copy
Lecturer
Postgrad Memperpanjang
Student Pinjaman
87
UC - Library Information System
Browse Catalog
Menambah Koleksi
Meng-konfirmasi
Undergrad Transaksi
Student
Memesan Buku Librarian
Meminjam Buku
Memesan Copy
Lecturer
Postgrad Memperpanjang
Student Pinjaman
88
UC - Library Information System (Revised)
Browse Catalog
Meminjam Buku
Member
Memesan Buku
Memesan Copy
Postgrad
Memperpanjang
Pinjaman Librarian Menambah Koleksi
Lecturer
Meng-konfirmasi Meng-konfirmasi
Pinjaman Perpanjangan
89