Se 20150507

  • Upload
    -

  • View
    26

  • Download
    0

Embed Size (px)

Citation preview

  1. 1. Date: 2015/05/07 Speaker: John K Lee (History, Model & Requirement)
  2. 2. Whats Software Engineering? Software engineering is the application of engineering to software. The application of systematic, disciplined, and quantifiable approaches to the design, development, operation, and maintenance of software, and the study of these approaches. First introduced in NATO Software Engineering Conference in 1968.
  3. 3. Software Industry Independent Programming Services (Era1) Computer Usage Company(19551986), sometimes called Computer Usage Corporation, was the first independent company to market computer software. Software Product (Era2) 1964 Martin Goetz developed Flowchart Software -- Autoflow for RCA, but rejected. Develop and market software products not specifically designed for a particular hardware platform. Enterprise Solutions (Era3) Systems, Applications and Products (SAP) $3.3 billion (1977) Packaged Software for the Masses (Era4) Software products for the masses. 1979. > VisiCalc, Spreadsheet program. Internet Software and Services (Era 5) World Wide Web by Tim Berners-Lee, 1990 Cloud & IoT ? (Era 6)
  4. 4. Software Lifecycle Model What's the Problem? Software Crisis
  5. 5. Software Lifecycle Model Software engineering is the application of engineering to software. The process of building a product is sometimes called a lifecycle because it describes the life of that product from conception through to its implementation, delivery, use and maintenance.
  6. 6. Waterfall Model Here I plan to go through some well-known Software Lifecycle Model. First one is "Waterfall Model"
  7. 7. Waterfall Model Pros & Cons Benefits of the waterfall model Being a linear model, it is easy to implement. Output (documentation) is generated after each stage. The main drawbacks of this model Assume the requirements are well-understood and complete. Hard to accommodate changes after the process is underway. One phase has to be complete before moving onto the next one. Commitments must be made at an early stage in the process.
  8. 8. V Model Emerged in reaction to some waterfall models that showed testing as a single phase following the traditional development phases of requirements analysis, high-level design, detailed design and coding. The V model portrays several distinct testing levels and illustrates how each level addresses a different stage of the software lifecycle. The V shows the typical sequence of development activities on the left- hand (downhill) side and the corresponding sequence of test execution activities on the right-hand
  9. 9. V Model
  10. 10. Prototyping Model Specifications can be developed incrementally! As users develop a better understanding of their problem, this can be reflected in the software system.
  11. 11. Prototyping Model Pros & Cons Benefit of prototyping Improve communication Reduce risk Validate specification For maintenance as well Problems of prototyping System are often poorly structured.
  12. 12. More Component-based Software Process Model Spiral Model: Risk-Driven Automatic Synthesis Model Object-Oriented Model Agile software development ...
  13. 13. Agile - Manifesto Manifesto for Agile Software Development Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan ...
  14. 14. SCRUM Process Cross-Functional-Team-Driven:
  15. 15. Product Backlog The requirements A list of all desired work in the project Ideally expressed such that each item has value to the users or customers of the product Prioritized by the product owner
  16. 16. Sprint Backlog The list of tasks a scrum team needs to complete during a sprint. An output of a sprint planning meeting. Turn a selected set of product backlog into a deliverable of increment of functionality. Each task in a sprint backlog has a time-based (hourly or daily) estimate.
  17. 17. Managing Sprint Backlog Estimated work remaining is updated daily so as to reflect on the Burndown Chart. Any team member can add, delete or change the sprint backlog If work is unclear, define a sprint backlog item with a larger amount of time and break it down later
  18. 18. Appendix Prototype Model: Advantages and Disadvantages [ HF Software Dev ] Chap1 : Great Software Development [ HF Software Dev ] Chap2 : Gathering requirement - Knowing what the customer wants