waniwatining astuti, m.t.i. a. the five steps in problem analysis b. business modeling c. system...
TRANSCRIPT
Analyzing the ProblemWaniwatining Astuti, M.T.I
A. The five steps in Problem AnalysisB. Business ModelingC. System engineering of software –
intensive systems
Development teams tend to forge ahead, proiding solutions based on an inadequate understanding of the problem to be solved.
A. The five steps in problem analysis
Key points : Problem analysis is the process of understanding
real – world problems and user’s needs and proposing solution to meet those needs.
The goal of problem analysis is to gain a better understanding of the problem being solved, before development begins
To identify the root cause, or the problem behind the problem, ask the people directly involved.
Identifying the actors on the system is a key step in problem analysis.
The specific steps that must be taken in order to achieve the goal are listed below
1. Gain agreement on the problem definition.
2. Understand the root causes – the problem behind the problem.
3. Identify the stakeholders and the users.
4. Define the solution sysem boundary.5. Identify the constraints to be
imposed on the solution.
Step 1. Gain agreement on the problem definition
The problem statementExample : problem statement format
element description
The problem of ..... Describe the problem
Affects ...... Identify stakeholders affected by the problem
And results in .... Describe the impact of this problem on stakeholders and business activity
Benefit of a solution .... Indicate the proposed solution and list a few key benefits.
Step 2. Understand the root causes – the problem behind the problem.
Quality data demonstrates that many root causes are simply not worth fixing Fishbone diagram Pareto chart
Problem to solve & technique applied
Problem to solve technique applied
Lack of profitability total quality management
Cost of nonconformance fishbone diagram
Too much scrap pareto chart
Inaccurate sales order new software solution
Step 3. Identify the stakeholders and the users
The following questions can be helpfull in this process
Who are the users of the system? Who is the customer (economic buyer) for the
system? Who else will be affected by the outputs the
system produce? Who will evaluate and approve the system when it
is delivered and deployed? Are they any other internal or external users of the
system whose needs must be addressed? Who will maintain the new system? Is there anyone else who cares?
Understanding the needs of the users and other stakeholders is a key factor in developing an effective solution.
Step 4. Define the solution sysem boundary.
We defide the world into two interesting classes of things : Our system things that interact with our system
Input outputsystem
How do we find these actors? Here are some helpful questions to ask
Who will supply, use, or remove information from the system?
Who will operate the system? Who will perform any system
maintenance? Where will the system be used? Where does the system get its
information? What over external system will
interact with the system?
Step 5.Identifying the actors on the system is a key step in problem analysis
Potential sources of system constraints Economics Politics Technology Systems Environment Schedule and resources
B.Business Modeling
Key Points :
Business modeling is a problem analysis technique especially suitable for the IS/IT environment.
The business model is used to help define systems and their applications.
A business use-case model, consisting of actors and use cases, is a model of the intended functions of the business.
A business object model describes the entities that deliver the functionality to realize the business use cases and how these entities interact.
In these contexts, it would be helpful to have a technique to determine answers to an even broader set of questions such as the following.
Why build a system at all? Where should it be located? How can we determine what
functionality is optimum to locate on a particular node in the system?
When should we use manual-processing steps or workarounds?
When should we consider restructuring the organization itself in order to solve the problem?
The Purpose of Business Modeling
In any case, the purpose of business modeling is threefold:
To understand the structure and dynamics of the existing organization
To ensure that customers, end users, and developers have a common understanding of the organization
To understand how to deploy new systems to facilitate productivity and which existing systems may be affected by that new system
Using Software Engineering Techniques for Business Modeling
With the right choice of business modeling technique, some of the work products, such as use cases and object models, will be useful in the solution activity.
Business modeling is not something we recommend for every software engineering effort. Business models add the most value when the application environment is complex and multidimensional, and when many people are directly involved in using the system.
Business Modeling Using UML Concepts
One of the goals of business models is to develop a model of the business that can be used to drive application development. Two key modeling constructs that can be used for this purpose are a business use-case model and a business object model.
Business use-case model
Examples of a business use-case model might be"Deliver electronic pay stub to employee.""Meet with customer to negotiate contract terms."Examples of business actors are"Customer""Employee""Software developer"
A business use-case model, then, consists of business actors and business use cases, with the actors representing roles external to the business (for example, employees and customers) and the business use cases representing processes
Business object model
A business object model may also include business use-case realizations that show how the business use cases are "performed" in terms of interacting business workers and business entities.
To reflect groups or departments in an organization, business workers and business entities may be grouped into organizational units.
From the Business Model to the Systems Model
C. Systems Engineering of Software-Intensive Systems
Key Points
Systems engineering is a problem analysis technique especially suitable for embedded-systems development.
Systems engineering helps us understand the requirements imposed on software applications that run within the solution system.
Requirements flowdown is primarily a matter of ensuring that all system requirements are filled by a subsystem or a set of subsystems collaborating.
Today, the system design must often be optimized for software costs rather than for hardware costs.
What Is Systems Engineering?
According to the International Council on Systems Engineering [INCOSE 2003]:
Systems engineering is an interdisciplinary approach and means to enable the realization of successful systems. It focuses on defining customer needs and required functionality early in the development cycle, documenting requirements, then proceeding with design synthesis and system validation while considering the complete problem:
Operations Performance Test Manufacturing Cost and Schedule Training and Support Disposal
Pragmatic Principles of Systems Engineering
Systems engineering provides eight pragmatic principles.
1. Know the problem, know the customer, and know the consumer.
2. Use effectiveness criteria based on needs to make the system decisions.
3. Establish and manage requirements.4. Identify and assess alternatives so as to converge on a
solution.5. Verify and validate requirements and solution
performance.6. Maintain the integrity of the system.7. Use an articulated and documented process.8. Manage against a plan.
The Composition and Decomposition of Complex Systems
A system in its environment
A system composed of two subsystems
Requirements Allocation in Systems Engineering
Requirements flowdown allocates system functionality to subsystems.