1 g n ri

advertisement
de Facto reference model
forward engineering
manageable
fixed documents
Kristian Sandahl, IDA
krisa@ida.liu.se
Replacement
Maintenance
Operation
Installation
Test
Implementation
Design
Requirements
Concept
exploration
Waterfall model
Kristian Sandahl, IDA
krisa@ida.liu.se
Kristian Sandahl, IDA
krisa@ida.liu.se
Charette, R.N. (2005) Why Software
Fails, IEEE Spectrum, September 2005
This course will present you some basic SE-elements
mostly suited for 101-102 people projects.
Kristian Sandahl, IDA
krisa@ida.liu.se
Always ask how does it work?, when does it work?, what can I get?
The rest is like finishing a jigsaw-puzzle.
(The Boeing 777-200 has about 1400 data processing units
and 5 million lines of code.)
Make processes, but also components, tools, people,... fit nicely together
My view
Space shuttle
Nike
Denver airport
Frequent failures:
high quality
high complexity
delivered promptly
low price
Increased demands for software with:
Application of systematic, disciplined, quantifiable
approach to software development, operation and
maintenance of software. (IEEE-Std.)
The term software engineering was used
occasionally in the late 1950s and early 1960s. It was
popularized as a response to the software crisis
during the 1968 NATO Software Engineering
Conference (held in Garmisch, Germany) by its
chairman F.L. Bauer, and has been in widespread
use since.
Why do we need SE?
Software Engineering
k
ac
-b
ed
e
f
Coding
System
testing
Acceptance
testing
Kristian Sandahl, IDA
krisa@ida.liu.se
Downstream
activities
Kristian Sandahl, IDA
krisa@ida.liu.se
Different types of knowledge:
Understanding customers
Understanding users
Managing projects and people
Communication
Staffing
Design at many levels
Programming tools
Components
Testing
Quality assurance
Business
Risk management
Technology assessment
......
Unit and
integration
testing
Quality and process management
Program
design
System
design
Requirements
analysis
V-model
criticality
# users
# developers
# platforms
risk
cost
There will be changes
degrading performance
maintenance account for
70% of life cycle cost
Everyone want the latest
technology
Different types of software:
Challenges to SE
1
evaluation
Kristian Sandahl, IDA
krisa@ida.liu.se
I’m curious to listen to the students’ union
Muddy-card evaluation 28 March
to assignments.
Begin the topic with the string “TDDC01:”
Mail me questions, reflections and solutions
Be active at lectures
Communication
Kristian Sandahl, IDA
krisa@ida.liu.se
Requirements
Planning & Processes
Design & Architechture
Test
Qualityfactors
Kristian Sandahl, IDA
krisa@ida.liu.se
Kristian Sandahl, IDA
krisa@ida.liu.se
Aid: 2 A4 sheets handwritten notes (e.g. 4 pages)
Grade 3: certain credits in each area + a minimal
total credit sum
I will go through a typical exam
Written
Five areas of questions:
Exam
but:
Knowledge from several sources
Two recommended course books
An auxiliary book in Swedish
Web pages
Other books and articles
It is your job to find the material you like
1. You will get an overview of concepts,
methods, tools & techniques for the entire
Software Engineering life-cycle.
2. You will also become prepared to the
TDDC02 project course when it comes to
the broad picture and requirements and
planning in particular.
A common theory course,
Course goals
Kristian Sandahl, IDA
krisa@ida.liu.se
Why not forming a study-group?
30 hours browsing other materials
Kristian Sandahl, IDA
krisa@ida.liu.se
60 hours reading the book of your choice
15 lectures = 30 hours
3p = 120 effective working hours
Plan reading
Advice
Preparations assignments
Home assignments
Discussion seminars
Guest lectures
Traditional
Lectures and assignments
2
replace
use supplementary
written specification
case3
use special tool
use special tool
case2
use PowerPoint
case1
new
use many models
new
use many models
use only models
Kristian Sandahl, IDA
krisa@ida.liu.se
use code generation
use supplementary
written specification
modify
Example: Blocked case-study
Kristian Sandahl, IDA
krisa@ida.liu.se
assessment, weekly measurement (hours,
lines of code)
OK: Write experience reports
Good: Formulate a model, make predictions
(set goals), explain results
Low key: Written reflections, daily
Dilbert: Work, work, work...., try to forget.
Learning from experience
8
4
4
Design and
coding
Testing
Writing report
Argumentation theory
4
Requirements
and planning
Guess
(weeks)
Simple example
4
4
10
4
Actual
(weeks)
Kristian Sandahl, IDA
krisa@ida.liu.se
Kristian Sandahl, IDA
krisa@ida.liu.se
Kristian Sandahl, IDA
krisa@ida.liu.se
Kristian Sandahl, IDA
krisa@ida.liu.se
components? What properties do they have? How do
they interact?
Detailed design description: What functions will be
implemented? Input? Output? Parameters?
Code: Good list of code
Unit test cases: input and expected output per
component
Unit test report: Which test-cases passed/have not
yet pass?
Architectural description: What are the main
needed? Which level of quality is needed?
Requirements specification: What functions are
Sample documents
social science
+ other methods from natural science and
Controlled experiments
Comparative studies
Parallel design
Gradual introduction: students, pilot, full-scale
Higher division
3
Kristian Sandahl, IDA
krisa@ida.liu.se
<<component>>
reader
message
<<component>>
writer
world!”
Kristian Sandahl, IDA
krisa@ida.liu.se
input = “Hi, HAL” ⇔ message is T ⇔ output is “Hello,
input
system, for example:
Create all documents for a trivial 2-component
Integration test planning: In what order will the
components be put together? Test-cases for each
intermediary build.
System test report: Which black-box test-cases
passed/have not yet pass? What was the result of
quality tests?
Acceptance test report: Which acceptance test cases
passed/have not yet passed?
Installation manual: How do I install and run the
system?
User manual: How do I operate the system?
Home assignment1
Sample documents (contd.)
output
4
Download