software development of large systems f3 - välkommen till...
TRANSCRIPT
![Page 1: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/1.jpg)
Software Development of Large
Systems F3
![Page 2: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/2.jpg)
2
Lecture 3
• Project Management, Project Planning
• Documents, overview of the process
• Meetings
• Reviews
![Page 3: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/3.jpg)
Project management
![Page 4: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/4.jpg)
4
Project Management
• Goals
• Risk
• Planning
• Staffing and organization
• Management
• Control and follow-up
![Page 5: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/5.jpg)
5
Project goals
• Product the right product
• Which have the required quality
• And IS DELIVERED at the right time
• At a given cost
![Page 6: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/6.jpg)
6
Risk Management
An integral part of project management
The most important activities are:
– Risk identification
– Risk analysis (including cause analysis)
– Risk prioritization
– Development of the actions for these risks
Should we have a backup plan, avoid the risk or
minimize its effects on the system?
![Page 7: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/7.jpg)
7
“Classic” software project risks
• Barry Boehm (1991) identified 10 software risk items to
be addressed by software development projects:
– Personnel shortfalls
– Unrealistic schedules and budgets
– Developing the wrong functions and properties
– Developing the wrong user interface
– Gold plating (adding more features than is necessary)
– Continuing stream of requirements changes
– Shortfalls in externally furnished components
– Shortfalls in externally performed tasks
– Real-time performance shortfalls
![Page 8: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/8.jpg)
8
Shortcomings and risks
Two types of shortcomings:
– financial: being late; being over budget
– technical: does not meet requirements (functional and non-functional )
Three types of risks:
– chaos and confusion: change in requirements, uncovering
– problems and errors
– personnel: wrong people, too few people (or too many)
– project environment: undefined methods, unknown quality,
– errors discovered late, insufficient management
![Page 9: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/9.jpg)
9
Planning
• Establish goals
• Define the organization
• Define standards and policies
• Define project milestones and deliverables
• Draw up project schedule
• Estimate project cost and define a budget
• Evaluate risks
• Document planning activities
![Page 10: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/10.jpg)
10
Staffing and organization
• Experience and education
• Motivation and commitment
• Team composition
– Line organization
– Matrix organization
– Function sub-teams
![Page 11: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/11.jpg)
11
People management
Leadership
– give enthusiasm and
security
Follow up on personnel
– give daily instructions
– pursue good discipline
Delegate
Motivate
Support collaboration
Co-ordinate
Encourage communication
Solve conflicts
Stimulate improvement
Document decisions
![Page 12: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/12.jpg)
12
Project Control
![Page 13: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/13.jpg)
Documents
![Page 14: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/14.jpg)
14
Documentation from a project
• Defines the product in terms of e.g. Requirements,
Design and Test
• Describes the product for the customer and the
developers
• Supports the users of the product, e.g. user-,
administrator- and maintenance manuals
• Product documents and project documents
![Page 15: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/15.jpg)
15
Documentation from different phases
![Page 16: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/16.jpg)
16
Software development cycle
![Page 17: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/17.jpg)
17
High level what is done in each phase
• Phase 1, Specification
– Requirements ready
– Planning ready
– Test planning ready
• Phase 2, High level design and test
– High level design ready
– Test design ready
• Phase 3, Code ready
– All code ready
• Phase 4, Product ready
– The product is ready to be shipped
![Page 18: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/18.jpg)
18
Baseline
• After a review and bug correction, you create a baseline
whose constituent documents are ”frozen”. Subsequent
changes are controlled.
• Controlled means each change has to be handled by the
CCB (Change Control Board)
![Page 19: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/19.jpg)
19
Supporting the technical development
![Page 20: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/20.jpg)
20
Support in the development
• Techniques and tools
• Development environment
• Standards and rules
• (Further) education
• Metrics and evaluations
• Policies and strategies
![Page 21: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/21.jpg)
21
General rules for all documents
• Follow PH:2 if not stated otherwise in the SDP
• Keep them in the document library (we can provide one if
you need)
• No requirements to word processor and drawing tool
• Consistent front pages (see examples)
• All documents must have a configuration item number
• Don’t repeat the SRS and other base system documents
- reference it!
• Clearly mark differences against the base system.
![Page 22: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/22.jpg)
22
Information transmission
• Who is the target group
• Which pre-requisites do they have
• What is your message
• Does it say what you meant to say
• Is it unambiguous and clear
• Does is say from where you got the information
![Page 23: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/23.jpg)
23
Phase 1: Specification
• Decide on the project plan (SDP)
• Define and analyze the requirements to the product
• Plan reviews and tests
• This phase ends with a formal review and a formal
baseline
![Page 24: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/24.jpg)
24
SDP
• Responsible: PG
– careful plan for the development
» time/resources per phase/week/activity/group
» time plan (dates) for phases/documents/reviews
» a calendar overview per week of tasks for each group
– description of personnel organization and lines of
responsibility/authority
– description of support tools, methods and standards
– description of change management
Look into the RED book for more details.
![Page 25: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/25.jpg)
25
SRS
• Software Requirements Specification Responsible:
SG (also party UG)
– analysis and identification of the customers
”needs”
– functional and quality requirements
– all terms defined explicitly (wordlist)
– for each service at least two examples of use
must be described using scenarios
– structure of chapters like SRS; new section for
each service (see the course website and
download the SRS)
![Page 26: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/26.jpg)
26
SVVS
• Software Verification and Validation Specification
Responsible: TG
• Reviews – how and when
• Tests
– what kind of test
– a function test specification per service
– a system test specification
– all (testable) requirements must be referenced
Quality
– evaluation of non-functional requirements
![Page 27: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/27.jpg)
27
Phase 2 (high level design)
• Structure the software into high-level
components
• Create the design from every test case
• The phase ends with a formal review and a
formal baseline
![Page 28: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/28.jpg)
28
STLDD
Software Top-Level Design Document
Responsible: SG (UG)
– high-level design into components
– for all components it should say:
» where it is placed in the system
» its functionality
» control- and data flow to and from the component
» global data that are shared with other components
» input and output
![Page 29: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/29.jpg)
29
SVVI
Software Verification and Validation Instruction Responsible: TG
– Test instructions for every test case defined in SVVS
– Every test instruction must be ”self contained” the difficult
part is not to run the test – but to decide whether it went
well or wrong
– Test execution
which test cases are run where?
target machine/simulated environment
![Page 30: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/30.jpg)
30
Phase 3: Low level design (code)
• All units/modules must be specified completely
– low-level design is followed by an informal review
• Software Detailed Design Document Responsible: SG
(UG)
![Page 31: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/31.jpg)
31
Phase 4 – Integration and System
test
• System test - ensure that the system satisfies the
requirements
• Acceptance tests - show the customer that the system
fulfills his/her needs
• Collecting the experience from the project
• This phase ends with a formal review (review PDR) and a
formal baseline
![Page 32: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/32.jpg)
32
SVVR
Software Verification and Validation Report Responsible: TG
– results of function tests for every service
– results of system tests
– review protocol from formal reviews
– the number of errors and types that were found by each review
– the number of errors and types that were found in dynamic testing
– the number of errors and types that were found in the various document
– errors that remain in the system
– comments on the results
A TIP: SVVR might not be perfect ;-)
![Page 33: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/33.jpg)
33
SSD
• System Specification Document Responsible: PG
– version description (delivered version, differences
between versions, etc.)
– possible differences against SRS (motivated)
– installation instructions (where are the files)
![Page 34: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/34.jpg)
34
PFR
• Project Final Report Responsible: PG
– Summary of experience from the project
– Summary of metrics
– Conclusions from the metrics
– Error costs
– Comments on what you would be able to improve on
the project
![Page 35: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/35.jpg)
35
Document Timeline
Week 1 2 3 4 5 6 7
PG
SG
UG
TG
SDDD
SSD
PFR
PFR
PFR
PFR
SVVI
SDP
SRS
SRS
SVVS
STLDD
STLDD
SDDD
SVVR
Review: SSR
Baseline: SpecificationReview: PDR
Baseline: Design&Test
Review: PR
Baseline: Product
![Page 36: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/36.jpg)
36
Refinement of information
![Page 37: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/37.jpg)
Meetings
![Page 38: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/38.jpg)
38
Meetings
• Is a way to spread information and take decisions
• Give everybody in the project the same information
• One of the biggest reasons for failing project is lack of
communication with in project teams
• Project meetings - ~twice a week
• PG: meeting with the section manager - once a week
• Meeting with the design expert – W3
![Page 39: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/39.jpg)
39
Other deadlines and meetingsWeek 1 2 3 4 5 6 7
PG PSU,ESU LSU
PrM PrM PrM PrM PrM PrM PrM
KOM SMM SMM SMM SMM SMM
SG PSU,ESU LSU
PrM PrM PrM PrM PrM PrM PrM
KOM EM EM EM EM EM
UG PSU,ESU LSU
PrM PrM PrM PrM PrM PrM PrM
EM EM EM EM EM
TG PSU,ESU LSU
PrM PrM PrM PrM PrM PrM PrM
KOM EM EM EM EM EM
Project meetings = PrM PM, All
Section manager meeting = SMM PM
Expert meeting = EM PM, SG, UG, TG
Kick-off möten = KOM PG, SG, TG
Exercise sign-up = ESU All
Lab sign-up = LSU All
Project sign-up = PSU All
![Page 40: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/40.jpg)
Reviews
![Page 41: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/41.jpg)
41
The cost of mistakes
![Page 42: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/42.jpg)
42
Review/inspection
A meeting where you in a structured way check that
documents are correct and of a high quality. All errors are
recorded.
There are two types of reviews:
– Informal: the project’s internal quality control
– Formal: auditors, reviewers, inspectors, quality
assurers + the whole project group
![Page 43: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/43.jpg)
43
Reviews
The rule is simple: read the object of review in a
systematic way
That is: a manual technique with the goal of:
– find mistakes
– spread knowledge
– get a basis for decisions
These goals can be balanced in different ways in different
kinds of review
![Page 44: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/44.jpg)
44
Reviews
What?
– Requirements/design/
code/user interface
How?
• Reading technique:
– Ad hoc
– Checklist
– Scenario-based
Who?
• Number of reviewers
• Roles
When?
• Continuously
• Before decision
![Page 45: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/45.jpg)
45
An example of a review process
Roles:
– Author
– Moderator
– Reader
– Recorder
– Inspector
– Inspection process
responsible
Steps:
1. Planning
2. Overview
3. Preparation
4. Meeting
5. Rework
6. Follow-up
![Page 46: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/46.jpg)
46
Example review entry criteria
• Previous documents must be reviewed, e.g. The design is
not reviewed until after the specification
• Given standards have to be followed
• Automatic controls must have been carried out and been
approved (e.g. spelling checks)
![Page 47: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/47.jpg)
47
Review techniques
![Page 48: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/48.jpg)
48
Error types and severity
• Generic error types (see PH)
• Different specific error types for each document
– SRS
– SVVP & SVVR
– STLDD & SDDD
• Severity of errors: A, B, C
– A = showstopper (test stopper or a feature that has to
be correct to launch). Has to be corrected
– B = issue (stops only the tested functionality). Has to
be corrected
– C = smaller issue, does not need to be corrected
![Page 49: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/49.jpg)
49
Examples of checklist items
• Are all program variables initialized before their values are
used?
• Is there any possibility of buffer overflows?
• Are all conditional statements correct?
• Is each loop certain to terminate?
• Are all output variables assigned a value before they are
output?
• Can unexpected input result in errors?
• Are function parameters used in correct order?
• Is memory correctly de-allocated after it is no longer is used?
• And more…
![Page 50: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/50.jpg)
50
Review information collection
• Date for distribution of review material
• Time for preparation
• Date of review meeting
• End date for rework
• First review or re-review
• Identity of review material (e.g. document number)
• Size of review material
• Names of participants
• Number of reviewers
• Duration of meeting
• Number of errors divided by type and severity
• Decisions (approved, corrected or re-review)
• Compare the review protocol and problem reports
![Page 51: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/51.jpg)
51
Why do we need this information
• Short term: process control (cf. project control)
– example: estimation of remaining errors
• Long term: process improvement
![Page 52: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/52.jpg)
52
Experience
• Efficiency in reviews can be measured with respect to:
– average number of hours per found error
– number of errors found per review unit (e.g. page of design)
• Some numbers:
– efficiency: reviews are 2-10 times more efficient than tests
– reviews take time: 4-15% of a project’s resources
– can we motivate this
» reviews improve the quality
» reviews improve the productivity
• Example: one error in deployment that costs $10.000 -
– can pay for > 100 hours of review
• Reviews can replace some testing
![Page 53: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/53.jpg)
53
Reviews in your project
• Informal reviews - customer not present, done before
every formal review
• Formal reviews:
– Software Specification Review (week 2)
» SDP, SRS, SVVS
– Preliminary Design Review (week 4)
» STLDD, SVVI, monitor files (not on paper)
– Product Review (week 7)
» acceptance test
• The better informal review, the better formal review
• The document library is also reviewed at SSR, PDR, PR
![Page 54: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/54.jpg)
Preparation
![Page 55: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/55.jpg)
55
Labs
• Implement changes to the base system in Java and some
changes to an example system (we worked with it on
exercise 2 and 4)
• Mandatory preparation assignments!
• Mandatory preparation and participation on labs!
• Bring your computers if you have. This will help you
a lot during the lab. If you do not have computer with
internet connection, please a print out of the
exercise!
![Page 56: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/56.jpg)
56
TODO This week
• Prepare exercise session 3 (look at the base system in
the course website)
• Exercise 2 and 3 serve as preparation for the computer
exercises
• Sign up for computer exercises 1 & 2
• PG: schedule review 1, SDP
• SG: SRS
• UG: SRS
• TG: SVVS
• Do informal review
![Page 57: Software Development of Large Systems F3 - Välkommen till ...cs.lth.se/fileadmin/cs/ETSN05/PUSS_Lecture3_2015.pdf · be addressed by software development projects: – Personnel](https://reader034.vdocuments.net/reader034/viewer/2022051406/5ab708617f8b9ab7638e6263/html5/thumbnails/57.jpg)
Questions?