cs 451 software engineering
play

CS 451 Software Engineering Yuanfang Cai Room 104, University - PowerPoint PPT Presentation

CS 451 Software Engineering Yuanfang Cai Room 104, University Crossings 215.895.0298 yfcai@cs.drexel.edu 1 Drexel University Drexel University Dilbert On Requirements 2 Drexel University Introduction The hardest single part of


  1. CS 451 Software Engineering Yuanfang Cai Room 104, University Crossings 215.895.0298 yfcai@cs.drexel.edu 1 Drexel University Drexel University

  2. Dilbert On Requirements 2 Drexel University

  3. Introduction “The hardest single part of building a software system is deciding what to build. No part of the work so cripples the resulting system if done wrong. No other part is more difficult to rectify later.” Fred Brooks  Software engineers often, “Do the wrong thing the right way.” 3 Drexel University

  4. Introduction  Every project has requirements engineering.  The start of requirements engineering begins with it’s stakeholders:  managers  customers  end-users  This is where:  business needs are defined  user scenarios defined  features delineated  project constraints are defined 4 Drexel University

  5. The Process  The requirement engineering process is accomplished through the execution of seven distinct functions:  inception  elicitation  elaboration  negotiation  specification  validation  management 5 Drexel University

  6. Inception 6 Drexel University

  7. Inception  Projects are usually started with a business need.  Business managers, marketing people, product managers, etc. define a business case for an idea. They identify:  the breadth and depth of the market  possibly do a rough feasibility analysis  identify the working description of a project’s scope  It is important as software engineers that we ask the right questions. 7 Drexel University

  8. Initiating the Requirement Engineering Process  Ideally, customers and software engineers work on the same team.  When this is not the case, we:  Identify the stakeholders  Recognize multiple viewpoints  Work toward collaboration 8 Drexel University

  9. Initiating the Requirement Engineering Process  What type of questions should we ask?  What problems will this solution address?  Will special performance issues or constraints affect the way the solution is approached?  Are you the right person to answer these questions? Are you answers “official?”  Who is behind the request for this work?  Who will use the solution? 9 Drexel University

  10. Initiating the Requirement Engineering Process  We are often given specifications, implement them perfectly, but miss the goal of the project or have the goal changed during the course of the design and implementation.  We must strive to “Do the right thing, the right way.”  This sometimes dictates that we must learn more about how the customer operates. It helps to educate yourself to the customers business model. Maybe you are familiar with solutions they are not exposed to. Maybe you can combine efforts. Ideas like this must be worked out early in the software engineering process. 10 Drexel University

  11. Elicitation 11 Drexel University

  12. Elicitation  The goal is to inquire as to:  what is to be accomplished  how the system or product fits into the needs of the business  how the system is to be used on a day-to-day basis  Sounds simple, reality is it is quite difficult. 12 Drexel University

  13. Elicitation  Issues include:  Project scope: What is the boundary of the system.  Understanding: The customer/user does not completely understand what they need. This may be at many levels dealing with a poor understanding of :  their capabilities and limitations of their computing environment  project domain 13 Drexel University

  14. Elicitation  They also have:  trouble communicating their needs  omit items that they feel are obvious  specify requirements that conflict with the needs of other customers/user  specify requirements that are ambiguous or untestable 14 Drexel University

  15. Eliciting Requirements  Q & A works effectively only in the initial meeting, otherwise it’s burdensome.  Instead, after the initial meeting, replace Q & A with the eliciting requirement methodology dictated here.  Teams of stakeholders and developers work together to elicit requirements 15 Drexel University

  16. Eliciting User Requirements  It is helpful to create scenarios that identify a thread of usage for the system to be constructed.  These scenarios are often called use cases .  Use cases tell a story about how an end user interacts with the system under a specific set of circumstances. 16 Drexel University

  17. Elaboration 17 Drexel University

  18. Elaboration  The initial information obtained during inception and elicitation is expanded and refined.  Requirements engineering activity focuses on developing a refined technical model of:  software functions  features  constraints 18 Drexel University

  19. Elaboration  Elaboration is an analysis modeling action.  Driven by the creation and refinement of user scenarios that describe how the end-user (and other actors) will interact with the system.  Each scenario is parsed to extract analysis classes 19 Drexel University

  20. Elaboration  Each scenario is parsed to extract business domain entities that are visible to the end-user.  Attributes of each analysis class are defined.  Services required by each class are identified.  Relationships and collaboration between classes are identified and a variety of supplementary UML diagrams are produced. 20 Drexel University

  21. Negotiation 21 Drexel University

  22. Negotiation  “Customers want it all and they want it yesterday,”  Customers often want more than can be achieved given the business resources. This can include a lack of :  budget  personnel  computing infrastructure  Also, importantly, customer requirements often conflict. 22 Drexel University

  23. Negotiation  The requirements engineer must reconcile these conflicts with negotiation.  The negotiation process follows these steps:  Requirements are ranked by priority.  Conflicts are discussed.  Risks are associated.  Guestimates of development time assigned.  Requirements are iteratively:  eliminated (moved to another phase)  combined  modified 23 Drexel University

  24. Specification 24 Drexel University

  25. Specification  Specification can mean different things to different people.  A specification can be written as:  a written document  a set of graphical models  a formal mathematical model  a collection of usage scenarios  a prototype  any combination of these.  Some suggest a formal template. Would this help or hurt? 25 Drexel University

  26. Requirements Document Structure  Introduction (Requirements Definition) – Describe need for the system and how it fits with business objectives.  Functional Requirements – Describe the services to be provided in detail. May include, data, use cases, state diagrams, and other graphical representations.  Non-functional Requirements – Define constraints on the system and the development process.  System Evolution – Define fundamental assumptions on which the system is based and anticipated changes.  Glossary – Define technical terms used.  Index 26 Drexel University

  27. Requirements Definition  A statement in natural language of the services the system provides and its operational constraints.  Written for customers. 27 Drexel University

  28. Requirements Definition  Example: Thera Wii from 2009 There is an emerging trend toward using video games as a means of increasing patient engagement in physical therapy. This trend is primarily driven by the newest generation of consumer console systems which use motion-based controls. However, clinical research into the efficacy of these systems is hindered by the inability to automatically collect data from systems and software which were not intended for this purpose. We will create a new piece of software that will give researchers the ability to experiment and quantitatively assess the value of game-based therapy. This software will provide an extensible framework for games or interactive experiments as well as an example suite of activities. The key aspect of this framework will allow researchers to easily gather data from motion-based input controls such as the Wii Remote. Various reporting methods and analysis tools will be provided for the gathered data. 28 Drexel University

  29. Requirement Specification Review  Requirements may be functional or non-functional  Functional requirements describe system services or features.  The key is to remember it is about the WHAT not the HOW of your project.  One exception to this, IMHO, is the user interface. We prefer to see most of it dictated in the requirements document, because it is a great tool to help the end-user understand what you are developing. 29 Drexel University

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend