Fundamentals Of Software Engineering Lecture III Kal Bugrara
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 n n n 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. ) n What is our offer to these customers? • What are the features and benefits that will satisfy customers needs and preferences. n n n 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 n n 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 3 rd. Parties 3 rd Customers Customer Service Backoffice Operations Information Technology Kal Bugrara, Ph. D Literature Distribution Accounting and Finance Software Engineering Legal Northeastern University
Example n 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
n Poor CSR Productivity • Must lessen the need for CSR expertise – more customers/clients handled. • Must lessen the need for training – more CSR uptime available. n High costs of implementing changes to existing applications • Must show 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
n 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 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 n Who are the stakeholder of the new system? What are their needs and preferences? • Users • Sponsors, etc. • They all are customers n 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 n 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-handletime • 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 n n n 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 n n 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 n n n 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 n 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 n There a number of standards and compliance conditions that must be captured and factored into the design. Kal Bugrara, Ph. D Software Engineering Northeastern University
Deliverables Current Capability User needs and Preferences Business Issues System vision, functions, features, tools, benefits Performance Metrics Policies & Procedures Data Elements System Interface Specifications CSR Processes User Interface Specification 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 Information or data as input (static) work activities or processes or program steps x x x x By definition a business process has a goal Time 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 facet Information, data elements, glossary of business terms User interaction, user interfacing processes, program steps, procedures, functions work activities Kal Bugrara, Ph. D Time Design techniques Static Concepts, Classes, Attributes, operations, relationships, inheritance Dynamic Activity diagrams, Use cases, sequence diagrams, etc. business processes Software Engineering Northeastern University
Engineering a software solution Deployment Development/ Integration Detailed object models, sequence diagrams, database schemas, etc. Programs, Services, existing applications and data bases, etc Software Architecture Formal Business Model Information models, User cases, user interfacing processes and procedures, business processes This is our next topic Requirements What is the impact of something going wrong? 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 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/ Abstracting concept We create our own reality through the concepts we form Kal Bugrara, Ph. D Software Engineering Northeastern University
Concepts apply to objects Apple: 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? Supplier Person Customer Employee Job Position Job Function Company Product Order Kal Bugrara, Ph. D Software Engineering Northeastern University
How do these concepts relate to each other? Customer Kal Bugrara, Ph. D Company Software Engineering Northeastern University
Two-place Concepts Company Customer a customer buys from Company has customer(s) Kal Bugrara, Ph. D Software Engineering Northeastern University
Two-place Concepts Company Product offered by Company offers Product Kal Bugrara, Ph. D Software Engineering Northeastern University
Two-place Concepts Company Supplier Supplies resources to Company resources provided by supplier(s) Kal Bugrara, Ph. D Software Engineering Northeastern University
Two-place Concepts Company Person The concept of employment a person has a job position within the company vs the company has person as employee Kal Bugrara, Ph. D Software Engineering Northeastern University
Two-place Concepts Company has employees Person employee employer Company Person employed by company Kal Bugrara, Ph. D Software Engineering Northeastern University
Two-place Concepts Job Position Company has job positions filled by persons Kal Bugrara, Ph. D Software Engineering Northeastern University
Concepts that apply to multiple objects Person Job Position Company has job positions filled by persons Kal Bugrara, Ph. D Software Engineering Northeastern University
Concepts that apply to multiple objects Some concepts have instances that are clusters of objects Person Job position is a 3 place concept Job Position Job Function Company 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 Election Vote Candidate Person Kal Bugrara, Ph. D Software Engineering Northeastern University
Concepts that apply to multiple objects Date Election Team Election Candidate District Election has: a list of candidate running in that election, an election date, responsible election officials, and covers a region or a district. Kal Bugrara, Ph. D Software Engineering Northeastern University
A 4 place concept Person employee Employment Status Job Position Related employment Role played Role employer Company Each instance of employment is a cluster of 3 objects (person= joe, company: NYSE, job function: manager) Kal Bugrara, Ph. D Software Engineering Northeastern University
Two-place Concepts Product Catalog Company Vendor Company has product catalog. Kal Bugrara, Ph. D Software Engineering Northeastern University
Two-place Concepts Product Catalog 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 Kal Bugrara, Ph. D Software Engineering Northeastern University
Kal Bugrara, Ph. D Software Engineering Northeastern University
- Slides: 49