15
Warm-Up Exercises 1. Mr. Lu is planting trees around the perimeter of a rectangular park. The park measures 72 feet by 48 feet. The trees need to be spaced 12 feet apart. A tree is to be planted in each corner. How many trees are needed? ANSWER 20 trees

LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once

Embed Size (px)

Citation preview

Page 1: LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once

LESSON 3

Page 2: LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once

Properties of Well-Engineered Software

•The attributes or properties of a software product are

characteristics displayed by the product once it is installed or

put into use.

•These are not the services provided by the product. Rather, they are

concerned with the product’s dynamic behaviour and the use

made of the product.

•Examples of these attributes are efficiency, usability, maintainability,

reliability, portability and so on.

•Optimizing all of the attributes is difficult as some are restricted. For

example, the relationship between cost and improvements in

each of these attributes is not linear. Small improvements in

any of the attributes can be expensive.

Page 3: LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once

Properties of Well-Engineered Software

• For some kind of systems, efficiency is a prime consideration.

The software may have to run on a computer where weight and

size considerations limit the power of the hardware which can be

used. It may have to run in a relatively small memory with no

associated disks. It may be necessary to optimize efficiency at

the expense of the other systems attributes.

• Almost all software, irrespective of application domain, must have

these characteristics.

Page 4: LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once

Properties of Well-Engineered Software

1.Maintainability 2.

Dependability

3.Efficiency

4.Usability5.

Portability

6.Availability of

Documentation

Page 5: LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once

Properties of Well-Engineered Software

It should be possible to evolve software to meet the changing

needs of customers.

Software maintainability is defined as the ease of finding and

correcting errors in the software. While there is as yet no

way to directly measure or predict software

maintainability, there is a significant body of knowledge

about software attributes that make software easier to

maintain. These include modularity, self (internal)

documentation, code readability, and structured coding

techniques. These same attributes also improve

sustainability (the ability to make improvements to the

software).

Page 6: LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once

Properties of Well-Engineered Software

Software Dependability includes a range of characteristics

including reliability, security and safety.

Dependable software should not cause physical or economic

damage in the event of system failure.

It is often defined as the extent to which a program can be

expected to perform intended functions which required

precision over a given period of time.

It is also concerned with the detection and correction of errors

in the software; even more, it is concerned with

techniques to compensate for unknown software errors

and for problems in the hardware and data environments in

which the software must operate.

Page 7: LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once

Properties of Well-Engineered Software

Software should not make wasteful use of system resources

such as memory and processor cycles.

Efficiency is the extent to which software uses minimum

hardware resources to perform its functions. There are

many other software qualities. Some of them will not be

important to a specific software system, thus no activities

will be performed to assess or improve them.

Maximizing some qualities may cause others to be decreased.

For example, increasing the efficiency of a piece of software

may require writing parts of it in assembly language. This

will decrease the transportability and maintainability of the

software.

Page 8: LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once

Properties of Well-Engineered Software

This is the extent to which a product can be used by specified

users to achieve specified goals with effectiveness, efficiency

and satisfaction in a specified context of use.

Software should have an appropriate user interface and

adequate documentation.

Although developers would like to know what attributes to

incorporate in the code to reduce the effort required for use, it

is usually impossible to know how users will respond

until they have actually experienced use of a prototype system.

4 characteristics can be considered usable: Quick and easy to

learn; Efficient to use; Allows rapid recovery from errors; Easy

to remember.

Page 9: LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once

Properties of Well-Engineered Software

Transportability is defined as the ease of transporting a given

set of software to a new hardware and/or operating

system environment.

Page 10: LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once

Properties of Well-Engineered Software

Properly produced and maintained system documentation is a

tremendous aid to maintenance engineers.

System documentation includes all of the documents describing

the implementation of the system from the requirements

specification to the final acceptance test plan.