1 / 27

Software Process and Modeling

Software Process and Modeling. Dr. M.E. Fayad, Professor Software Engineering Department, Room #2022 College of Computer and Information Sciences (CCISs) King Saud University P.O. Box 51178 Riyadh 11543 http://www.engr.sjsu.edu/fayad, mefayad@gmail.com. Lesson 1: Introduction. 2.

geoghegan
Download Presentation

Software Process and Modeling

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 Process and Modeling Dr. M.E. Fayad, Professor Software Engineering Department, Room #2022 College of Computer and Information Sciences (CCISs) King Saud University P.O. Box 51178 Riyadh 11543 http://www.engr.sjsu.edu/fayad, mefayad@gmail.com KSU – SWE Process and Modeling

  2. Lesson 1: Introduction 2 KSU – SWE Process and Modeling

  3. Lesson Objectives • Discuss the following terms: Standards Methodology/paradigm/process Models Methods processes • Discuss the essential properties of a process • Explore Process Models 3 KSU – SWE Process and Modeling

  4. Standards imply regulations, guidelines, rules, laws, and so on. Standards can dictate named methodologies, such as IEEE standards or DOD standards (Ex: DOD-STD-2167A). A standard alone is not sufficient on getting a task completed. Why? Standards 4 [Fayad-Laitinen 1998] KSU – SWE Process and Modeling

  5. Because standards focus on the attributes of the results instead of how the results will be achieved A standard also includes a type, model, or example commonly or generally accepted or adhered to, such a criterion set for usage or practices (moral standards) Standards applies to some measure, principle, model, and so on, with which things of the same class are compared to determine their quantity, value, quality, and so forth (standards of purity in drugs) Standards 5 [Fayad-Laitinen 1998] KSU – SWE Process and Modeling

  6. A methodology is “a science of method or orderly arrangement” Webster. A methodology is used to refer to the very highest level of the way we do things. A methodology also refers to “a system of methods, as in particular science” The methodology we will consider here cover only the development of software applications. Methodology 6 [Fayad-Laitinen 1998] KSU – SWE Process and Modeling

  7. A method implies a regular, orderly, logical procedure for doing something, such as a method of finding software requirements. Exs: Waterfall model, spiral model [Boehm84], and fountain model [Henderson-Selers90]. Jacobson defines a method as a planned procedure by which a specific goal is approached step by step [Jacobson92]. Examples of software design method are a set of work procedures, a set of notations, or a set of heuristics. Methods or Techniques 7 KSU – SWE Process and Modeling

  8. Software engineering methods can be divided into three major categories: 1. Process-Oriented Methods [Yourdon89] 2. Data-Oriented Methods [Martin90] 3. Object-Oriented Methods [Fayad93, Rumnaugh91, etc..] Methods or Techniques 8 KSU – SWE Process and Modeling

  9. POM vs. OOM 9 KSU – SWE Process and Modeling

  10. Method Provides Foundation for Software Engineering 10 KSU – SWE Process and Modeling

  11. The Myth of the Single Software Development Method 11 KSU – SWE Process and Modeling

  12. How Many OO Methods Exist? UML 12 KSU – SWE Process and Modeling

  13. Engineering Process Hierarchy Engineering Scientific Area Standards Methodologies (Macrodevelopment Processes) Techniques (Methods) (Minidevelopment Processes) Processes (Microdevelopment Processes Computer Electronics Hardware Software SASD OOT UML OMT 13 Identify Classes Identify Attributes KSU – SWE Process and Modeling

  14. Processes are Important for a new OO Teams • New methods and tools introduce confusion • Processes define exactly who, what, when, and how • “big-picture” 14 KSU – SWE Process and Modeling

  15. Method vs. Process Processes take OO methods out of the classroom and put them to work • Theoretical • Ideas • Predictions • Practical • Concrete Actions • Metrics 15 KSU – SWE Process and Modeling

  16. Software engineering life cycles or phased software development models, such as Waterfall model Prototyping Spiral Model Automatic Programming Reuse Models Incremental Model Fountain Model XP Model Software Stability Model Software Engineering 16 KSU – SWE Process and Modeling

  17. Waterfall Model Requirements Analysis Requirements Specifications Design Coding Testing Waterfall Model 17 KSU – SWE Process and Modeling

  18. Requirements Specifications Design Coding Requirements Coding Analysis Testing Demonstration Maintenance Requirements Design Code Coding Design Document Test Prototype Requirements Build Test Prototype Prototype Maintenance Prototyping 18 KSU – SWE Process and Modeling

  19. Cumulative Cost Progress Through Steps Determine Evaluate Alternatives, Objectives, Identify, Resolve Risks Alternatives, Risk Constraints Analysis Risk Analysis Risk Operational Analysis Risk Prototype Prototype 3 Anal. Prototype 2 Commitment Pt 1 Review Simulations, Models, Benchmarks Partition Requirements Plan Concept of Life-Cycle Plan Operation Software Requirements Software Detailed Product Design Development Requirements Design Plan Validation Code Unit Integration and Design Validation Test Test Plan and Verification Integra- tion Acceptance and Test Imple- Test Plan Next Phases Develop, Verify mentation Next-level Product [Boehm 87] Spiral Model 19 KSU – SWE Process and Modeling

  20. Requirements Analysis Formal Specifications Automatically Generated Code AUTOMATIC PROGRAMMING . 20 KSU – SWE Process and Modeling

  21. Decompose Application Application Domain Requirements Specify Module Configure Reusable Requirements Modules Customize Reusable Module Design Modules Integrate Modules Module Code Module Test Testing REUSABLE MODULES . 21 OTI-93F-0014 KSU – SWE Process and Modeling

  22. Increment 1 System Product Detailed Feasibility Design Design Validation Verification Software Plans & Reqmts Code Validation Unit Test Integration Product Increment 2 Verification Detailed Implementation Design Verification System Test Operations and Code Maintenance Unit Test Revalidation Integration Increment 3 Detailed Design Verification Code Verification INCREMENTAL MODEL . 22 KSU – SWE Process and Modeling

  23. . FOUNTAIN MODEL Further Maintenance Acceptance Development into Library Program Use Further System Maintenance Development Testing Testing Coding Coding Design Module Software Design Requirements Specification 23 Module Requirements Specification Analysis [Henderson-Sellers90] Real-World Systems Real-World Entity KSU – SWE Process and Modeling

  24. What are the differences between requirement analysis and software design? What are the requirement analysis and software design? Analysis & Design 24 KSU – SWE Process and Modeling

  25. Analysis & Design • Problem space • Analysis • One problem • The “What” Fuzzy line • Solution space • Design • Many solutions • The “How” 25 KSU – SWE Process and Modeling

  26. List all the major process activities in the lifecycle phases: Requirement analysis, software design, software construction, software testing, software maintenance List all major activities in software project management: Software planning, Staffing, Controlling and tracking the project, etc. T/F Software processes should be fixed. Software process should be measurable. Software process specifies the why and ignore the how. Define: Automatic Programming and Fountain Model Discussion Questions 26 KSU – SWE Process and Modeling

  27. The manager’s roles and responsibilities in software process Measure process rather than people The top five excuses for no process documentation Process assessment Process improvement models The trouble with process assessment How to use processes as a baseline for improvement Software process hierarchy How to document process Recommendations for documenting processes Questions for the Next Lecture 27 KSU – SWE Process and Modeling

More Related