fundamentals of software engineering lecture iii
DESCRIPTION
Fundamentals Of Software Engineering Lecture III. A step by step process for gathering requirements In context of a new system. Business Requirements: Key Questions. What is the business need? What are the business issues underlying the need What is working? What is not working? - PowerPoint PPT PresentationTRANSCRIPT
Kal Bugrara, Ph.D Software Engineering Northeastern University
Fundamentals Of Software Engineering
Lecture III
Kal Bugrara, Ph.D Software Engineering Northeastern University
A step by step process for gathering requirements
In context of a new system
Kal Bugrara, Ph.D Software Engineering Northeastern University
Business Requirements: Key Questions
What is the business need? What are the business issues underlying the
need What is working? What is not working? What is the business’ vision for the new system?
What benefits and qualities that will result? Who are the stakeholder of the system? What are
their needs and preferences?• Users• Sponsors, etc.• All stakeholders are customers
Kal Bugrara, Ph.D Software Engineering Northeastern University
Business Requirements (Contd.) What is our offer to these customers?
• What are the features and benefits that will satisfy customers needs and preferences.
How are we going to deliver the offer? What is the business’ “glossary of terms”? How users are going to interface to the new
system? How are they going to interact with the new system? What business tasks they perform? What are the data elements they need? What tools are needed to help facilitate their work.
Kal Bugrara, Ph.D Software Engineering Northeastern University
Step 1: Understand the Business Situation
What are the business issues underlying the need?
What is the “pain” we want to eliminate?
The most significant interest in understanding the current business situation is to identify the issues that exist and are inherent to it, where they occur, why they occur, and to what degree they impact current performance.
The important outcome in this circumstance is a set of business issues that need to be addressed in order to leverage the
opportunities created by the new system.
Kal Bugrara, Ph.D Software Engineering Northeastern University
Customer Service
Literature Literature DistributionDistribution
LegalLegalAccounting and Accounting and FinanceFinance
3rd Parties3rd Parties3rd Parties3rd PartiesCustomersCustomers
Information Information TechnologyTechnology
OperationsOperations
Customer Customer ServiceService
BackofficeBackoffice
Kal Bugrara, Ph.D Software Engineering Northeastern University
Example Customer Service
Customer Service Representatives (CSR) answer the phone and respond to customer questions
• Customers are not happy with the service. Customers think CSRs are not helpful – they don’t know what they are doing
• The call-handle time is too long• High cost of training customer service representatives (csr)• CSR work practices are very complicated
• CSRs use 4 desktop applications• CSRs are busy working with the desktop tools and have
little time taking care of the customer• Customers call for service but management does not know
what they are calling about
Kal Bugrara, Ph.D Software Engineering Northeastern University
Poor CSR Productivity
• Must lessen the need for CSR expertise – more customers/clients handled.
• Must lessen the need for training – more CSR uptime available.
High costs of implementing changes to existing applications
• Must show how quickly changes to how CSRs work could be integrated into the applications being developed, with relevant training minimized.
Kal Bugrara, Ph.D Software Engineering Northeastern University
Lack of Real-time Activity Reporting
• Must capture in real-time the what, where, when, how and for whom the CSR is working on various business tasks.
• Must show how the solution provides real data for business improvement and innovation.
Kal Bugrara, Ph.D Software Engineering Northeastern University
Magnitude of these Problems
A large investment company reports:
If the average phone call length is reduced by THREE seconds, the company will save $200,000 per year.
Kal Bugrara, Ph.D Software Engineering Northeastern University
Step 2: Users and their preferences
Who are the stakeholder of the new system? What are their needs and preferences?• Users• Sponsors, etc.• They all are customers
Work with management on a set of criteria for classifying users. The criteria could include similarity of need, size, volume, and profitability. The users of the new system are then classified accordingly. A sample group of users will be selected for detailed interviews and requirements gathering.
Kal Bugrara, Ph.D Software Engineering Northeastern University
Example Customer Service
Users and their needs: • customer service reps
• Combine all the desktop applications into on easy to use tool
• The tool support provides answers to most customer questions
• Team leaders• Measure CSR performance and including call-handle-
time• Unit managers
• Measure team performance and compare • Reduced need for CSR training
• Auditors• Reports that show compliance with company rules and
regulations
Kal Bugrara, Ph.D Software Engineering Northeastern University
Step 3: The Business Offer
What is our offer to these customers? What are the features and benefits that will satisfy customers’ needs and preferences?
With clear understanding of the user needs and preferences, the focus shifts to documenting the information, features and benefits the business must deliver to users in order to satisfy their requirements.
In this step and for each customer category, we capture the (information) products used to satisfy the requirements, and any associated service level agreements. The business offers form the basis for identifying the work activities and consequently the business processes that deliver the business offers to
customers.
Kal Bugrara, Ph.D Software Engineering Northeastern University
Step 4: Goals and Measures
To ensure a successful implementation of the system and ultimately realize the intended benefits, a sound measurement system must be integral to the business process and the underlying software solution.
Knowing what to measure, instructing the system to measure it, and acting on the things learned will create a great opportunity to manage the business process instead of “the application”
Kal Bugrara, Ph.D Software Engineering Northeastern University
Step 5: Information Engineering What are the information needs of people doing the work?
To be deliberate about understanding the data requirements and therefore limit the scope of the data elements to those that really matter, we start with analyzing the work activity and its purpose. The resource needs of the work activity is subsequently derived.
The deliverables from this step include a data model that captures all the information elements needed to support the work. The data model will be in a format that lends itself to software implementation.
Kal Bugrara, Ph.D Software Engineering Northeastern University
Step 6: User interface specification
Screen design for business tasks is iterative and parallels the development of the data elements.
Produce screen drafts as soon as possible to provide end users with something tangible to work with. This motivates the subject matter experts’ thinking about the work to be done and leads to a productive development. This “early draft” approach is fundamental to an iterative development methodology.
The new system will evolve over the course of the project with business users fully engaged throughout.
Kal Bugrara, Ph.D Software Engineering Northeastern University
Step 7: Standard Policies and Procedures
There are a number of standards and compliance conditions that must be captured and factored into the design.
Kal Bugrara, Ph.D Software Engineering Northeastern University
Business IssuesCurrent
CapabilityUser needs and
Preferences
System vision, functions, features,
tools, benefits
CSRProcesses
Data Elements
User Interface Specification
Policies & Procedures
System Interface
Specifications
PerformanceMetrics
Deliverables
A complete and executing process-oriented system
Kal Bugrara, Ph.D Software Engineering Northeastern University
Information Engineering and Business Modeling
Kal Bugrara, Ph.D Software Engineering Northeastern University
Why need information?
Management converts information to action.
The process is called decision making…
Jay Forrester
Kal Bugrara, Ph.D Software Engineering Northeastern University
Information has quality
Information must be
Accurate
Timely
Relevant
What happens if any of these requirements is missing?
Kal Bugrara, Ph.D Software Engineering Northeastern University
The challenge for Software Engineers
Design and build software systems capable of providing
The right information ...
To the right people ...
At the right time …
… And these are highly interdependent
Kal Bugrara, Ph.D Software Engineering Northeastern University
Time vs. information
xx
xx
xx
x
Time
Information or data as input (static)
work activities or
processes or
program steps
By definition
a business process
has a goal
Kal Bugrara, Ph.D Software Engineering Northeastern University
Because management needs to know ...
The intersection of data elements and the process steps at any given moment in time gives you the ability to answer such questions as who is doing what, why, when, where, how, and most importantly for whom.
Kal Bugrara, Ph.D Software Engineering Northeastern University
Business requirements as a formal model
Design techniques
Concepts, Classes,
Attributes, operations, relationships, inheritance
Activity diagrams, Use cases, sequence diagrams, etc.
business processes
Design facet
Information,data elements, glossary of business terms
User interaction,
user interfacing processes,
program steps,
procedures, functions
work activities
Time
Static
Dynamic
Kal Bugrara, Ph.D Software Engineering Northeastern University
Engineering a software solution
Requirements
Software
Architecture
Deployment
Formal Business Model
Information models,
User cases, user interfacing processes and procedures, business processes
Detailed object models,
sequence diagrams,
database schemas, etc.
Programs,
Services, existing applications and data bases, etc
Development/
Integration
What is the impact of something going wrong?
This is our next topic
Kal Bugrara, Ph.D Software Engineering Northeastern University
Modeling the business problem
The objective is to capture what might be termed as
Glossary of business terms
Business lexicon
Business vocabulary
Data Elements
Map these common business terms (and their relationships) into a formal information model - a key component of the business model.
Kal Bugrara, Ph.D Software Engineering Northeastern University
The steps for Developing a Business Model
1. Scope the problem domain
2. Capture the key concepts within the problem domain
3. Generalize and specialize concepts as necessary
4. Surface any relationships between concepts
5. Formalize the concepts by mapping them to class definitions
define class attributes
define operations on the class
class inheritance
class relationships
Kal Bugrara, Ph.D Software Engineering Northeastern University
Problem Domain
Subject matter, field, realm, specialty, boundary
Business unit, organization, enterprise
Etc.
Examples:
Human Resources, compensation, pension,
Customer service, finance,
Tax code, personal deductions
Kal Bugrara, Ph.D Software Engineering Northeastern University
Information Engineering and Business Modeling
Kal Bugrara, Ph.D Software Engineering Northeastern University
?
Why focus on concepts?
Conceptualization is a basic human mental function
Conceptualization means thinking or abstraction
The result of doing conceptualization
(thinking, or abstractions) is a concept
Conceptualize/
Abstractingconcept
We create our own reality through the concepts we form
Kal Bugrara, Ph.D Software Engineering Northeastern University
Concepts apply to objectsApple: this piece of fruit I am about to eat
Concept Examples of objects to which the concept applies
Person Peter, Paul, and Mary
Employee John works for Acme Inc.
Task That piece of work Kim is performing right now
Family Jim and Joan are happily married and have two lovely children
Kal Bugrara, Ph.D Software Engineering Northeastern University
Exercise
Identify an object in the classroom. Provide a few
concepts that apply to that object.
Provide an example of a concept. Identify a few objects
to which that concept applies.
Kal Bugrara, Ph.D Software Engineering Northeastern University
What is the domain here?
Job Position
Job Function
Person
Company
Employee
CustomerSupplier
ProductOrder
Kal Bugrara, Ph.D Software Engineering Northeastern University
How do these concepts relate to each other?
Customer Company
Kal Bugrara, Ph.D Software Engineering Northeastern University
Two-place Concepts
a customer buys from Company
Company has customer(s)
Customer Company
Kal Bugrara, Ph.D Software Engineering Northeastern University
Two-place Concepts
Product offered by Company
Company offers Product
Product Company
Kal Bugrara, Ph.D Software Engineering Northeastern University
Two-place Concepts
Supplies resources to Company
Company resources provided by supplier(s)
Supplier Company
Kal Bugrara, Ph.D Software Engineering Northeastern University
Two-place Concepts
The concept of employment
a person has a job position within the company
vs the company has person as employee
Person Company
Kal Bugrara, Ph.D Software Engineering Northeastern University
Two-place Concepts
Person Companyemployer
employee
Company has employees
Person employed by company
Kal Bugrara, Ph.D Software Engineering Northeastern University
Two-place Concepts
Job Position Company
Company has job positions filled by persons
Kal Bugrara, Ph.D Software Engineering Northeastern University
Concepts that apply to multiple objects
Job PositionPerson Company
Company has job positions filled by persons
Kal Bugrara, Ph.D Software Engineering Northeastern University
Concepts that apply to multiple objects
Job Position
Job Function
Person
Company
Job position
is a 3 place concept
Some concepts have instances that are clusters of objects
Each instance of job position is a cluster of 3 objects (person= joe, company: NYSE, job function: manager)
Kal Bugrara, Ph.D Software Engineering Northeastern University
Concepts that apply to multiple objects
Vote Candidate
Election
Person
Kal Bugrara, Ph.D Software Engineering Northeastern University
Concepts that apply to multiple objects
CandidateElection
Election has: a list of candidate running in that election, an election date, responsible
election officials, and covers a region or a district.
Election Team
Date
District
Kal Bugrara, Ph.D Software Engineering Northeastern University
A 4 place concept
Job Position
Role
Company
Each instance of employment is a cluster of 3 objects (person= joe, company: NYSE, job function: manager)
employee
employer
Role played
Related employment
Person
Employment
Status
Kal Bugrara, Ph.D Software Engineering Northeastern University
Two-place Concepts
Product Catalog Company
Company has product catalog.
Vendor
Kal Bugrara, Ph.D Software Engineering Northeastern University
Two-place Concepts
Product Catalog Company
Company has product catalog. The product catalog defines a collection of
Products. A product belongs to a product catalog. The product catalog is owned by company
Product
Kal Bugrara, Ph.D Software Engineering Northeastern University