1 / 49

Fundamentals Of Software Engineering Lecture III

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?

rachel
Download Presentation

Fundamentals Of Software Engineering Lecture III

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fundamentals Of Software EngineeringLecture III Software Engineering Northeastern University

  2. A step by step process for gathering requirementsIn context of a new system Software Engineering Northeastern University

  3. 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 Software Engineering Northeastern University

  4. 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. Software Engineering Northeastern University

  5. 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. Software Engineering Northeastern University

  6. Customer Service 3rd Parties 3rd Parties Customer Service Customers Backoffice Operations Literature Distribution Accounting and Finance Information Technology Legal Software Engineering Northeastern University

  7. 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 Software Engineering Northeastern University

  8. 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. Software Engineering Northeastern University

  9. 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. Software Engineering Northeastern University

  10. 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. Software Engineering Northeastern University

  11. 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. Software Engineering Northeastern University

  12. 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 Software Engineering Northeastern University

  13. 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. Software Engineering Northeastern University

  14. 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” Software Engineering Northeastern University

  15. 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. Software Engineering Northeastern University

  16. 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. Software Engineering Northeastern University

  17. Step 7: Standard Policies and Procedures • There are a number of standards and compliance conditions that must be captured and factored into the design. Software Engineering Northeastern University

  18. Deliverables Current Capability User needs and Preferences Business Issues System vision, functions, features, tools, benefits System Interface Specifications Performance Metrics User Interface Specification CSR Processes Policies & Procedures Data Elements A complete and executing process-oriented system Software Engineering Northeastern University

  19. Information Engineering and Business Modeling Software Engineering Northeastern University

  20. Why need information? Management converts information to action. The process is called decision making… Jay Forrester Software Engineering Northeastern University

  21. Information has quality • Information must be • Accurate • Timely • Relevant What happens if any of these requirements is missing? Software Engineering Northeastern University

  22. 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 Software Engineering Northeastern University

  23. Time vs. information Information or data as input (static) work activities or processes or program steps x x x x x x x By definition a business process has a goal Time Software Engineering Northeastern University

  24. 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. Software Engineering Northeastern University

  25. Business requirements as a formal model Design facet Design techniques Time Information,data elements, glossary of business terms Concepts, Classes, Attributes, operations, relationships, inheritance Static User interaction, user interfacing processes, program steps, procedures, functions work activities Activity diagrams, Use cases, sequence diagrams, etc. business processes Dynamic Software Engineering Northeastern University

  26. Engineering a software solution Deployment Development/ Integration Programs, Services, existing applications and data bases, etc Detailed object models, sequence diagrams, database schemas, 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? Software Engineering Northeastern University

  27. 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. Software Engineering Northeastern University

  28. 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 Software Engineering Northeastern University

  29. 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 Software Engineering Northeastern University

  30. Information Engineering and Business Modeling Software Engineering Northeastern University

  31. 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 Software Engineering Northeastern University

  32. 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 Software Engineering Northeastern University

  33. 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. Software Engineering Northeastern University

  34. What is the domain here? Person Customer Supplier Job Position Job Function Employee Order Product Company Software Engineering Northeastern University

  35. How do these concepts relate to each other? Customer Company Software Engineering Northeastern University

  36. Two-place Concepts Company Customer a customer buys from Company Company has customer(s) Software Engineering Northeastern University

  37. Two-place Concepts Company Product Product offered by Company Company offers Product Software Engineering Northeastern University

  38. Two-place Concepts Company Supplier Supplies resources to Company Company resources provided by supplier(s) Software Engineering Northeastern University

  39. 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 Software Engineering Northeastern University

  40. Two-place Concepts Company has employees employee Company Person employer Person employed by company Software Engineering Northeastern University

  41. Two-place Concepts Job Position Company Company has job positions filled by persons Software Engineering Northeastern University

  42. Concepts that apply to multiple objects Job Position Person Company Company has job positions filled by persons Software Engineering Northeastern University

  43. 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) Software Engineering Northeastern University

  44. Concepts that apply to multiple objects Election Candidate Vote Person Software Engineering Northeastern University

  45. 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. Software Engineering Northeastern University

  46. A 4 place concept Person employee Job Position Employment Status Related employment Role Role played employer Company Each instance of employment is a cluster of 3 objects (person= joe, company: NYSE, job function: manager) Software Engineering Northeastern University

  47. Two-place Concepts Product Catalog Company Vendor Company has product catalog. Software Engineering Northeastern University

  48. Two-place Concepts Product Catalog Product 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 Software Engineering Northeastern University

  49. Software Engineering Northeastern University

More Related