1 / 28

Contents

Learn about requirements engineering, project management, software design, coding, quality assurance, and maintenance for efficient software development. Improve your understanding of requirements analysis, specification, planning, design, testing, installation, operation, and maintenance.

pereda
Download Presentation

Contents

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. Contents • Introduction • Requirements Engineering • Project Management • Software Design • Detailed Design and Coding • Quality Assurance • Maintenance bella@cs.umu.se

  2. Requirements Analysis Specification Require- ments Planning Design Coding Testing Installation Operation and Maintenance Requirements Engineering • What is a Requirement? • RE Activities • Requirements Documentation • RE Methods and Notations • Examples bella@cs.umu.se

  3. What is a requirement? • A Requirement is something that the product must do or a quality that the product must have. • Three kinds of requirements: • Functional Requirements • Non functional requirements • Constraints bella@cs.umu.se

  4. System shall communicate with external system X. The product shall run on the company’s existing Unix machines. The system must have a file containing a complete list of students that is accessible only by the teacher. The product should be user friendly..... Examples Functional Constraint Functional and non functional Non Functional .....new users should be able to add buttons within 30 minutes of their first attempt at using the product. bella@cs.umu.se

  5. RE Activities • Acquire and identify requirements • Study the system / organisation • Study available documents • Ask users / domain experts • Questionnaires • Interviews • Analyse and evaluate requirements • Domain analysis • Prototyping • JAD / JAW • Scenario modelling • Document requirements • Review and validate requirements bella@cs.umu.se

  6. Why Do Projects Fail? bella@cs.umu.se Study by the Standish Group involving 350 companies from 1994/95, see [Pfleeger 98].

  7. Purpose of the Requirements Document guide design • Describe external system behaviour • Functional requirements • User interface • Acceptable responses to undesired events • Describe system properties • Non-functional requirements • Acceptance criteria • Implementation independent reference • Specifies the WHAT and not the HOW • Part of the contract between customer and developer guide analysis bella@cs.umu.se

  8. Format of a Requirements Document • Problem • Background information • Operational Environment • Functional Requirements • Non-functional requirements • Constraints • Volere Requirements Specification Template • http://www.systemsguild.com/GuildSite/Robs/Template.html bella@cs.umu.se

  9. Documenting Requirements is Important • Quality factors for requirements documents • Understandable by users and developers • Correct • Consistent • Complete • Realistic • Testable • Traceable • Prioritised bella@cs.umu.se

  10. Requirements Writing Style Do not use vague terms or verbs like “some,” “obviously,” “usually,” “often,” “it follows that,” … Make sure that uncompleted lists are understood completely (e.g. “etc.,” “and so on,”“…,” ...) Make sure that ranges are clearly understood, e.g. what means “in the range of 1 to 100” Ask for clear definitions of terms like “always,” “never,” “almost,” etc. Use pictures and examples to aid inunderstanding Explain all of your terminology Use “shall,” “must,” “should,” consistently bella@cs.umu.se

  11. Requirements Engineering • What is a Requirement? • RE Activities • Requirements Documentation • RE Methods and Notations • Examples bella@cs.umu.se

  12. Problems: Coping with size Structured approach Stepwise refinement Hierarchical organisation Coping with change Logic model Maintainable results Coping with documentation Simple notation Graphical elements Solutions: SA (75/75) Function-oriented ER (end 70s) Data-oriented SA/RT (85/87) Control-oriented Integrated approaches SA/ER/RT (end 80s) OO/RT (early/mid 90s) ??? Classical Approaches to RE Systematic approaches to requirements analysis and definition bella@cs.umu.se

  13. Structured Analysis (SA) • Developed 1975/76 • DeMarco/Yourdon • Gane/Sarson • System = Process transforming input into output • Hierarchical, logical system model • Processes • Data flows • Data stores • Terminators • Notation: • Data flow diagrams (DFDs) • Data dictionary (DD) • Process specifications (PSpecs)

  14. data item(s) data item(s) Data Flow Diagrams Gane/Sarson DeMarco/Yourdon Terminator: Source or destination of data/information. Outside the system boundaries. Data flow: Flow of data. Process: Transforms input data flow(s) into output data flow(s). Data store: Data repository. bella@cs.umu.se

  15. package data verify if order is valid assemble and invoice order order available packages process orders Customer Customer credit status invoice customer data DFD Development • Start with a context diagram • Successively refine processes • Describe all data in the data dictionary • Describe all atomic processes by Pspecs • Example: Order processing refine order invoice bella@cs.umu.se

  16. DFDs--Managing Complexity DFD hierarchy + numbering/naming rules + balancing rules Level n Level n+1 structure Level n+2 bella@cs.umu.se

  17. DFDs--“Forbidden” Structures The SA notation is not formally defined Rules are defined by experiences and tool features In-data only Terminator-to-terminator flows Out-data only Cycles Unnamed dataflows (exception: from/to data stores) Store-to-store flows bella@cs.umu.se

  18. System Level 1 Level 0 Context diagram other data Do Y 2 input output Do X 1 input System 0 Term some data data output Do Z 3 Do Z Level 2 All names must be unambiguous. Numbering scheme helps to find processes in the hierarchy  Do C: 3.3 d2 Do B .2 data d5 Do A .1 d3 d1 Do C .3 a store d6 In data dictionary: some data = d5 + d6 (alternatively: some data = d5 | d6) DFD Naming and Balancing

  19. selection (or) telephone number = [ local extension | outside number ] local extension = 2 + { number }3 outside number = 0 + [ local number | long distance number ] local number = prefix + access number long distance number = (1) + area code + local number prefix = [ 123 | 124 | 125 ] access number = { number }4 number = * any number between 0 and 9 * composition (and) optional repetition a comment PSpecs and DD • The format of PSpecs is not restricted • Free text • Pseudocode • PSpecs must be defined for all atomic processes • The format of the DD is semi-formal • Example:

  20. SA--Summary • Advantages • Simple notation • Supports hierarchical decomposition • Easy to understand • Good communication medium • Supports consistency checks • Disadvantages • Not well defined • No common guidelines • Many dialects • Incomplete • Very poor data descriptions • No description of control flows bella@cs.umu.se

  21. Data Modelling • The entity-relationship (ER) model was developed by Chen (late 70s) to support data(base) modelling • Focuses only on the static structure of data • Notation • Entity-relationship diagrams (ERDs) • Attribute dictionary bella@cs.umu.se

  22. Entitytype m n Relation-ship type Attribute ERD Notation • According to Chen + common extensions Set of real or abstract things about which data is stored Set relations between entities with cardinalities m and n. Information that is stored along with entities and relationships. Composition of entities. Classification between entity- and relationship types. bella@cs.umu.se

  23. Team Member n 1..3 Responsi- bility SWProject Employee External Attribute Dictionary m n Documents Equipment Responsi- bility Attribute structures TeamMember = Name, Address, Rank; Employee = ...; ... Attribute types Name = STRING; Address = STRING; ... Address h/week Rank Name ERD--An Example bella@cs.umu.se

  24. SWProject Name Address Rank SA/ER Integration DFDs ERDs Team Member Process n 1..3 Responsi- bility ProjectTeam Employee External Data Dictionary ProjectTeam = { TeamMember }n TeamMember = Name + Address + Rank ... bella@cs.umu.se

  25. Advantages Simple notation Supports hierarchical and structural decomposition Easy to understand Good communication medium Well understood Widely used Good tool support Well-suited for DB design Disadvantages No behaviour descriptions No control descriptions Almost useless for non-DB applications ERM--Summary Extensions of ERM lead to OO approaches bella@cs.umu.se

  26. Secretary Dean Student Prof Use Case Diagram Sign on for exams Take exam Student Administer marks Schedule lectures bella@cs.umu.se

  27. Popularity of (Classical) Methods bella@cs.umu.se Study from 1990, see [Yourdon 92].

  28. References Yourdon, E. (1989). Modern structured analysis. Englewood Cliffs, N.J. : Yourdon Press. Page-Jones, M. (1988). The Practical Guide to Structured Systems Design. Englewood Cliffs, N.J. : Yourdon Press. Kaufmann, A. (2000). Transcript for Systems Analysis Lecture. University of Applied Sciences Giessen-Friedberg Simons, A. (2000). Use Cases Considered Harmful Dept. of Computer Science, University of Sheffield http://www.smartdraw.com/resources/centers/software/ssadm.htm http://www.canberra.edu.au/~sam/whp/datadict.html http://www.software-magazin.de/Programmierung/Methoden/SA/body_sa.html http://www.sims.berkeley.edu/courses/is208/s01/Lectures/208-dataflowdgm.ppt http://www.cis.ohio-state.edu/~bbair/516 http://www.bus.iastate.edu/hndrcksn/MIS538 bella@cs.umu.se

More Related