Sunteți pe pagina 1din 41

Lecture 6

 These days, software teams can build some pretty amazing


systems, compared to only a decade ago.

 A lot of progress has been made in building and deploying complex


systems; from modularization and encapsulation through
structured programming and object-oriented development to visual
modeling and process automation

 One area where software professionals have not been good is


ensuring that they deploy the right system: the one that really will
make their end-users lives easier, and consequently will help their
business succeed.
 Too often, solutions are quickly sketched (if at all) before they
are designed and implemented, and once deployed, they are
not actually solving any specific problem.

 Understanding where systems are being deployed, who uses


them, how they need to integrate with existing systems, and
what specific business tasks they automate is key to deploying
a successful system.
In the IS/IT context, it would be helpful to have a technique by
which we could determine the answers to the following
questions
 Why build a system at all?

 Where should it be located?

 How can we determine what functionality is optimum to


locate on a particular system?
 When should we use manual-processing steps or workarounds?

 When should we consider restructuring the organization itself in


order to solve the problem?

 Fortunately, there is a technique that's ideally suited to address


this particular problem, and that technique 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 us to easily manipulate solutions without affecting
the ‘thing’ being modeled.
 In the face of increasingly complex systems, visual modeling
becomes essential.

 As the complexity of systems increases, so too does the importance


of good modeling techniques.

 These models allow different stakeholders to view the system from


different angles and communicate their perspectives with each
other.
◼ Business modeling is a technique to help answer critical
questions, such as:
▪ How do you know you have identified all system use cases?

▪ What do the workers (users) do before using our system?

▪ What business value does the system bring?

▪ What is the business system this computer system will be


supporting?
◼ A good understanding of business processes helps you to build
the right systems.
Business modeling is a problem analysis technique
especially suitable for the IS environment

◼ Business environment is complex and we need to


understand
▪ some of this complexity before even attempting to define
a specific problem worth solving
▪ the broader context in which the application (solution
system) operates.
 For example, your business may be the business of software
development or manufacturing welding robots, or you may
wish to model a not-for-profit business or service organization

 In any case, the purpose of business modeling is two fold:


1.To understand the structure and dynamics of the organization
2. To ensure that customers, end users, and developers have a
common understanding of the organization
 This gives the team a logical approach to define
where the software applications can improve the
productivity of the business and to assist in
determining requirements for those applications.
1. The systems that we build are deployed into organizations that
already have business processes in place.

2. Whether you sell a Customer Relationship Management


System, a Library Information System, a Billing System or any
other, that system will be used by an individual during the
course of a specific task – interacting with a customer, looking
for articles, billing a customer, etc.

3. How can you ensure that your system will provide value if you
do not understand how it will be used, who will use it and in
what circumstances it will be used?
To ensure that we are building customer-oriented solutions (i.e.
information systems that satisfy our customers), we must not
overlook:
ƒ
1. the environment in which these systems will work,
ƒthe roles and responsibilities of the employees using the system,

2. the "things" that are handled by the business, as a basis for


building the system

It is from this internal view of the business that you can better
understand the system to build.
If you consider software development to have two primary drivers,
cost and quality, business modeling helps these factors by
providing the following i.e discussed on next slide
cost drivers

1. Get it right the first time


The development of a business model helps ensure that time is not
wasted on the development of a business system by having unnecessary
development iterations

2. Access to business users


 Often the crucial business users are not present at the time an
important business question comes up.
 Business models will not solve this problem, but they will help to
reduce it, by providing an adequate description of the business for
developers.
 This will reduce the amount of time wasted by developers waiting for
business comments or feedback.
cost drivers
3. Test early
 The cost of finding ‘bugs’ later in the lifecycle is much greater
than if those problems are identified early.

 Note that ‘bugs’ are not only software related, there are (many)
requirements bugs too and these are much harder to find and
more expensive to fix than software defects.

 By providing a business perspective to the software development


process ‘bugs’ may be highlighted or avoided much earlier in the
lifecycle.
cost drivers

4. Support for iterative development


The nature of software development requires the adoption of an
iterative lifecycle.

What defines an iteration or increment is a decision made by


the project manager based on risk, dependencies and business
functionality.

By having an understanding of the value of the business


elements the practitioner can make informed decisions to
provide return on investment earlier.
Organization Business Business
Business Business Use Case
Unit Entity
Actor Worker
 A business actor represents a role played by some person
or system external to the modeled business and
interacting with the business.

 Some typical examples of business actors are: Customer,


Supplier, Passenger, Bank

 In review, business workflows are initiated by business


actors and performed by business workers.

 BA initiates workflow by interacting with workers or


automated business systems.
 A business use case defines what happens in
the business when the use case is requested
by business actor
 it describes complete workflow or business
process that produces results required or in
need of business actor.
 The first step in business modeling is to define the
interaction between the entities outside of your business
(suppliers, customers, partners, colleagues in departments
interacting with the department you model, etc) and your
business processes.

 This is documented in a business use-case diagram

 A business use-case diagram visually represents the


interaction between the primary services (business use cases)
your business provides and those to whom the services are
provided (business actors)
 The Company has decided to undertake an effort to
build a new application for sales and order
management.
 To explore the needs of the organization, and also
to align the way business is done throughout the
organization
 the first step is to build a set of business models.
The departments of The Company that will not
actively use the new order application are
considered external to the model, and are
represented with business actors.
Brief descriptions of the business use cases:
 Order Process: This process describes how The Company
takes appropriate actions to deliver a solution to a Customer
 The process starts when there is a business decision to
proceed with an agreed solution.
 This may often be in the form of The Company receiving a
purchase order from a Customer.
 It ends when the Customer is satisfied with the installment
and commission of the solution and payment is received. The
objective is to in a profitable way satisfy customer
requirements.

 Proposal Process: This is the process of generating a


proposal(s) in response to customer requirements. The
process is triggered by an inquiry from a Customer and ends
when the Customer accepts (or rejects) any of the quote(s) in
the proposal. The objective is to reach agreement on a quote
that is acceptable both to the Customer and to The Company.
 Quote Process: The Quote Process is an abstract
business use case that is included in both the
Proposal Process and the Order Process. The
process begins when there are customer
requirements that need a quote produced for it.
The objective of the Quote Process is to produce a
solution meeting the customer requirements, and
to provide it along with a price.
For example, consider the large furniture store used as an example in Guideline:
Business Goal. A Business Use Case Model for such a furniture chain may look
as follows:
◼ The business use-case model provides the big picture
from a business actor's perspective.

◼ Describes business processes (functions of business)


▪ These processes are documented as a sequence of actions
that provide observable value to a business actor.
▪ Used to identify roles and deliverables in the organization
 From a business use-case diagram, the workflow of
each business use case is further detailed to
◦ document the sequence of activities comprising the entire
business process represented by the business use case.

 Activity diagrams are the UML diagram of choice to


document business workflows graphically.
 Activity diagrams as defined in the UML
represent the dynamics of a system by
expressing flows.
 They are basically flow charts that are used to
show the workflow of the system
 An activity diagram showing business entities
(aProposal, a Quote, aPlan) and their states
(created/complete)
 Business class diagrams are used for two main
purposes:
• To show which business workers and business
entities are collaborating to implement a
business process.
• To show static structure and relationships
among business entities.

 A class diagram would be used to represent the


org chart of a business (using organization units
and business workers).

S-ar putea să vă placă și