10101000. 01010100 Software Engineering /2 101070 Evolution of software Languages that have 01020100 engineering paradigms their conceptual 10:101000:0 basis determined by assembly languages 00:101 machine architecture 10210100 Procedural and structured 0101020 programming Increase of rc time Object Oriented programming 01010:0 Component-ware Complexity 21010:10 0101010 Design patterns 1001000310. Software architectures 0201010002 Languages that have 10.101000 their key abstractions 02001000. Software Agents rooted in the problem 10:101000 domain 03010100 SZ CALGARY SENG521 (Fall 2002) far@enel. calgary. ca
SENG521 (Fall 2002) far@enel.ucalgary.ca 6 Software Engineering /2 ◼ Evolution of software engineering paradigms: ◼ Assembly languages ◼ Procedural and structured programming ◼ Object Oriented programming ◼ Component-ware ◼ Design patterns ◼ Software architectures … ◼ Software Agents Languages that have their conceptual basis determined by machine architecture Languages that have their key abstractions rooted in the problem domain Increase of Complexity time
10101000. 01010100 1020 What Affects Software? 100■ Timeliness: 0102101000 10101000:- Meeting the project deadline 00:10100 10101000 Reaching the market at the right time 01010200 10010■Cost: 0:101010u0 1010:000■ Meeting the anticipated project costs 0102010 101010- Reliability: 0201020002 0.01010001 Working fine for the designated period on the 010101000 10:101000 designated system 03010100 SZ CALGARY SENG521 (Fall 2002) far@enel. calgary. ca
SENG521 (Fall 2002) far@enel.ucalgary.ca 7 What Affects Software? ◼ Timeliness: ◼ Meeting the project deadline. ◼ Reaching the market at the right time. ◼ Cost: ◼ Meeting the anticipated project costs. ◼ Reliability: ◼ Working fine for the designated period on the designated system
10101000. 01010100 0201010 Definition: Failure Availability 101- Failure: Any departure of system behavior in 0101010 execution from user needs 10:01000 01010 Failure intensity: the number of failures per natural 100100 or time unit. Failure intensity is way of expressing 01010200 101010 reliab 9A9 Availability: The probability at any given time that 0101010 a system or a capability of a system functions .0-0.00 satisfactorily in a specified environment 0010.1000. If you are given an average down time per failure 020101000- availability implies a certain reliability 10:101000 03010100 SZ CALGARY SENG521 (Fall 2002) far@enel. calgary. ca
SENG521 (Fall 2002) far@enel.ucalgary.ca 8 Definition: Failure & Availability ◼ Failure: Any departure of system behavior in execution from user needs. ◼ Failure intensity: the number of failures per natural or time unit. Failure intensity is way of expressing reliability. ◼ Availability: The probability at any given time that a system or a capability of a system functions satisfactorily in a specified environment. ◼ If you are given an average down time per failure, availability implies a certain reliability
10101000. 01010100 0201010 Definition: verification validation 100■ Verification: 0102101000 10101000.- For each development phase or for each module 0.0101 000- are the outputs and inputs generated correctly? 010 101000- And do they match correctly 10101.000. 0:101010u0 21010:00 010101 a Validation: 10101000 02000- Does the software meet its requirements? 10.101000 010101000 10:101000 03010100 SZ CALGARY SENG521 (Fall 2002) far@enel. calgary. ca
SENG521 (Fall 2002) far@enel.ucalgary.ca 9 Definition: Verification & Validation ◼ Verification: ◼ For each development phase or for each module are the outputs and inputs generated correctly? And do they match correctly? ◼ Validation: ◼ Does the software meet its requirements?
10101000. 01010100 1020 Definition: Reliability a Reliability is the probability that a system or a 000- capability of a system functions without failure for a 0.010100""Specified time or"number of natural unitsin a 0001 0000 specified environment(Musa, et al .. a recent survey of software consumers revealed that 0:1010 0.0101000 reliability was the most important quality attribute 010101000 10101000- Of the application software 5Au- This course is concerned with the engineering of 01010100 reliable software products 10:101000 03010100 SZ CALGARY SENG521 (Fall 2002) far@enel. calgary. ca
SENG521 (Fall 2002) far@enel.ucalgary.ca 10 Definition: Reliability ◼ Reliability is the probability that a system or a capability of a system functions without failure for a “specified time” or “number of natural units” in a specified environment. (Musa, et al.) ◼ A recent survey of software consumers revealed that reliability was the most important quality attribute of the application software. ◼ This course is concerned with the engineering of reliable software products