1. Date: 2015/05/07 Speaker: John K Lee (History, Model &
Requirement)
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. 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. Software Lifecycle Model What's the Problem? Software
Crisis
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. Waterfall Model Here I plan to go through some well-known
Software Lifecycle Model. First one is "Waterfall Model"
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. 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. V Model
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. 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. More Component-based Software Process Model Spiral Model:
Risk-Driven Automatic Synthesis Model Object-Oriented Model Agile
software development ...
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. SCRUM Process Cross-Functional-Team-Driven:
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. 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. 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. Appendix Prototype Model: Advantages and Disadvantages [ HF
Software Dev ] Chap1 : Great Software Development [ HF Software Dev
] Chap2 : Gathering requirement - Knowing what the customer
wants