1 / 26

Software Requirements Analysis

Software Requirements Analysis. “What does the customer want?”. Lecture Objectives. To understand the importance of specifying requirements correctly To discuss the different representations of requirements in the analysis model

jennis
Télécharger la présentation

Software Requirements Analysis

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. Software Requirements Analysis “What does the customer want?” TCS2411 Software Engineering

  2. Lecture Objectives • To understand the importance of specifying requirements correctly • To discuss the different representations of requirements in the analysis model • To illustrate the modeling of data elements in the problem domain TCS2411 Software Engineering

  3. During Breakfast One Day... Nasi Lemak! TCS2411 Software Engineering

  4. What Is Served? • Nasi Lemak • Sambal • Cucumber • Peanuts ? • Egg? • Ikan Bilis ? • Chicken ? • Sotong ? TCS2411 Software Engineering

  5. Expectations • Standard: Nasi Lemak + Sambal + Cucumber + Peanuts + Ikan Bilis • Great: All above + Egg + Chicken/Sotong • Disappointing: Nasi Lemak + Sambal + Cucumber TCS2411 Software Engineering

  6. What We Are Doing ABC Software! TCS2411 Software Engineering

  7. The First Task Problem Analysis Design Models Development Solution Testing TCS2411 Software Engineering

  8. Software Requirements Analysis • Developer and customer communicate to form the details of the software • Developer - interrogator, problem solver • Customer - required functions & performance • Problems: • Misinterpretation • Misinformation • Ambiguity TCS2411 Software Engineering

  9. Requirements Analysis Tasks • Problem Recognition: as perceived by the customer. • Evaluation & Synthesis: the analyst define data objects, evaluate the flow of information, define all software functions, understand system behavior, establish system interface characteristics and design constraints. • Modeling: models of data, information and control flow, and operational behaviors. • Specification: a model of the software is created and evaluated by both software engineers and customers. • Review: of software requirements specifications done by developer and customer. TCS2411 Software Engineering

  10. Analysis Principles • Information domain of a problem must be represented and understood • Required functions must be defined • Behaviour of software must be represented • Models that depict information, function, and behaviour must be partitioned in a layered or hierarchical fashion • Analysis process should move from essential info to implementation detail TCS2411 Software Engineering

  11. More guidelines • Understand the problem before creating the analysis model • Develop prototype • Record origin and reason of requirements • Use multiple views • Prioritize requirements • Eliminate ambiguity TCS2411 Software Engineering

  12. The Analysis Model Entity- Relationship Diagram Process Specification (PSPEC) Data Object Description Data Flow Diagram Data Dictionary State-Transition Diagram Control Specification (CSPEC) TCS2411 Software Engineering

  13. Data Dictionary Contains descriptions of all data objects used Entity-Relationship Diagram (ERD) Describes relationships between data objects Data Flow Diagram (DFD) Describes data flow & transformation State Transition Diagram (STD) Describes system behaviour Analysis Model Elements TCS2411 Software Engineering

  14. Identification of ‘what’ elements from the problem domain that is relevant Graphically represented by Entity-Relationship Diagram, which contains: Entities Attributes Relationships Data Modeling TCS2411 Software Engineering

  15. Entities • Representation of items from the problem domain that is applicable to the system • Has a set of attributes to describe it • Drawn as a labeled rectangle in ERD Customer Member TCS2411 Software Engineering

  16. External entity – (anything that produces or consumes information) Thing (e.g. report or display) Occurrence or events (e.g. phone call) Role (e.g. salesperson) Organizational unit (e.g. accounting department) Place (e.g. warehouse) Structure (e.g. File) Entity Examples TCS2411 Software Engineering

  17. Properties of the entity name of an instance Description of an instance. reference to another entity One or more attributes must be defined as identifier - “key” to find an instance of the entity. (e.g. ID number of a student). Set of attributes may differ in different analysis Attributes TCS2411 Software Engineering

  18. Associations between instances of one or more entity types that is of interest Usually means that event has occurred, or there exists some natural linkage between entity instances Drawn as line between entities, labeled with verb phrases Relationships Employee is assigned Parking Place is assigned to TCS2411 Software Engineering

  19. Specification of the number of occurrences of one object that can be related to the number of occurrences of another object Usually expressed as ‘one’ or ‘many’ Possible relationships: One-to-One One-to-Many Many-to-Many Cardinality TCS2411 Software Engineering

  20. One-to-One Relationship Member Spouse is married to is spouse of “Every member has a spouse” TCS2411 Software Engineering

  21. One-to-Many Relationship Member Spouse is married to is spouse of “Every member has one or more spouses” TCS2411 Software Engineering

  22. Many-to-Many Relationship Parent Child is parent of is child of “Every parent has one or more children, and every child has one or more parent” TCS2411 Software Engineering

  23. Specifies whether the relationship is optional or mandatory Modality is 0 if relationship is optional represented by dotted line in ERD Modality is 1 if relationship is mandatory represented by straight line in ERD Modality TCS2411 Software Engineering

  24. Optional relationships Member Spouse is married to is spouse of “Every member may have a spouse” Member Spouse is married to is spouse of “Every member may have one or more spouses” TCS2411 Software Engineering

  25. Example of Entity-Relationship Diagram Customer Order places placed by contains part of Product Order Item describes is a TCS2411 Software Engineering

  26. References • “Software Engineering: A Practitioner’s Approach” 5th Ed. by Roger S. Pressman, Mc-Graw-Hill, 2001 • “Software Engineering” by Ian Sommerville, Addison-Wesley, 2001 • “Modern Systems Analysis and Design” by Jeffrey A. Hoffer, Joey F. George & Joseph S. Valacich, Benjamin/Cummings, 1996 TCS2411 Software Engineering

More Related