Академический Документы
Профессиональный Документы
Культура Документы
Dates
Feb. 1 Feb. 2 Feb. 9 Feb. 15 Feb. 16 Feb. 22 Feb. 23 Mar. 1 Mar. 2 Mar. 8 Mar. 9 Mar. 18
14:45 17:30 13:45 16:30 13:10 15:45 14:45 17:30 15:15 18:00 14:45 17:30 13:15 15:45 14:45 17:00 13:45 16:30 14:45 17:30 13:45 16:30 15:00 17:00
Introduction, Project Description STEP WISE Approach to Project Planning STEP WISE Approach to Project Planning, SAVE ENERGY Case Selecting an Appropriate Software Dev. Approach Activity Planning and Resource Allocation Software Effort Estimation Risk management, project escalation Exam Risk Management, Project monitoring and control Software Quality Assurance Managing People; Contract Management Trade Fair
2
4. Identify products and activities 5. Estimate effort for activity 6. Identify activity risks
Software quality
! " Of increasing concern
!"
E.g. safety critical systems, dependence on core IS Need to make project progress visible Every task has a deliverable Errors accumulate with each stage Errors become more expensive to remove the later they are found It is difficult to control the error removal process (e.g. testing)
4
Software quality
! " Three Specifications:
!" !" !"
Functional: What the system is to do. Quality: How well the functions are to operate. Resource: How much is to be spend on the system.
ISO 9216
! " Defined in 1991 ! " To tackle the question of definition of software quality ! " Also suggests sub-characteristics of the main ones outlined here (outside main standard) ! " See next slides
Functionality sub-characteristics
! " Suitability ! " Accuracy ! " Interoperability
!"
Ability of software to interact with other software components Degree to which software adheres to application-related standards or legal requirements, e.g. audit Control of access to the system
! " Compliance
!"
! " Security
!"
Reliability sub-characteristics
! " Maturity
!"
Frequency of failure due to faults - the more the software has been used, the more faults will have been uncovered and removed
Understandability: easy to understand? Learnability: easy to learn? Operability: easy to use? Time behavior, e.g. response time Resource behavior, e.g. memory usage
10
Analyzability: ease with which the cause of a failure can be found Changeability: how easy is software to change? Stability: low risk of modification having unexpected effects Testability
11
!"
Adaptability Installability Conformance: standards that have bearing on portability (compare to compliance ) - e.g. use of high-level language Replaceability: factors giving upwards compatibility - downwards compatibility is excluded
12
Quality relationships
! " Indifferent
!"
One has no effect on the other A system can only be good in respect to one quality at the expense of another A system which is good in respect to one quality is likely to be also good in respect to the other
! " Competitive
!"
! " Complementary
!"
13
Internal qualities (SQCs): ! " Modularity ! " Generality ! " Expandability ! " Self-descriptiveness ! ! ! ! " " " " Simplicity Modularity Instrumentation Self-descriptiveness
14
! " Testability
15
E.g. safety critical systems - reliability very important Real-time systems - efficiency important E.g. mean-time between failures for reliability Response-time for efficiency
16
17
18
Software measurement
! " May apply to:
!" !"
Final products Intermediate products (predictive metrics) Relative or binary (does it/does it not exist?) Direct or indirect Tightly or loosely coupled
19
Quality specification
! " Each project has three sets of requirements
!" !" !"
Functional requirements: what the system is to do Quality requirements: how well it is to do it Resource requirements: how much it is going to cost
The amount of effort needed to install the package for a new customer Hours Time needed to install system at three different sites
21
Need to rework more stages Later stages are more detailed and less able to absorb change Error typically 10 times more expensive to correct at coding stage than at requirements stage 100 times more expensive at maintenance stage
24
These have to be in place before an activity can be started Example: a comprehensive set of test data and expected results be prepared and independently reviewed against the system requirement before program testing can commence
25
These define how the process is to be conducted Example: whenever an error is found and corrected, all test runs must be completed, including those previously successfully passed
26
An activity will not be completed until these requirements have been met Example: the testing phase is finished only when all tests have been run in succession with no outstanding errors These requirements may be laid down in site standards, or a quality plan may be drawn up for a specific project
27
28
30
Determine customer needs and expectation Establish quality policy Design product creation process with responsibilities Measure effectiveness and efficiency Take corrective action
31
32
33
Level 3 Defined: how should each task in the softw. Development life cycle be done Level 4 Managed: products and processes are subject to measurement and control Level 5 Optimizing: improvements based on measurement data
34
35
Summary
! " Quality = vague concept. Requirements have to be carefully defined. ! " There have to be practical ways to test relative presence / absence of a quality. ! " Most qualities can only be tested when system is completed. ! " We need ways of checking during development. ! " Some procedures focus on testing products, others on evaluating quality of the development process.
36