• Tidak ada hasil yang ditemukan

The need for a comprehensive software quality requirements

N/A
N/A
Protected

Academic year: 2018

Membagikan "The need for a comprehensive software quality requirements"

Copied!
39
0
0

Teks penuh

(1)
(2)

The need for a comprehensive

software quality requirements

There are some characteristic common :

□ All the software projects satisfactory fulfilled the basic requirements for correct calculations

□ All the software projects suffered from poor performance in important areas such as maintenance, reliability,

software reuse, or training.

□ The cause for the poor performance of the developed

software projects in these areas was the lack of predefined requirements to cover these important aspects of the

(3)

The need for a comprehensive

definition of requirements

(2)

There is a need for a comprehensive definition of

requirements that will cover all attributes of software and aspects of the usability aspects, reusability aspects,

maintainability aspects, and so forth in order to assure the full satisfaction of the users.

■ Software industry groups the long list of related attributes into what we call quality factors. (non-functional

requirements)

■ Requirement documentation (specification) is one of the

(4)

The Facts…

Seems like in Software Engineering we

concentrate on capturing, designing,

implementing, and deploying with emphasis

on

functional requirements.

Little (not none!)

emphasis on the

non-functional requirements

(quality factors).

More and more emphasis now placed on

quality factors

(5)

The Facts…

(2)

In the RUP, non-functional requirements are

captured in the Software Requirements

(6)

Classification of software requirements

into software quality factors

The classic model of software quality

factors suggest by :

McCall (consist of 11 factors, 1977)

Deutsch and Willis (consist of 12 to 15 factors,

1988)

(7)

McCall’s Factor

Model

Classifies all software requirement into 11

software quality factors, grouped into three

categories :

1.

Product operation factors

: Correctness,

Reliability, Efficiency, Integrity, Usability.

2.

Product revision factors

: Maintainability,

Flexibility, Testability.

3.

Product transition factors

: Portability,

(8)
(9)

Product Operation

Factors

(10)

Correctness requirements are defined in a list of the

software system’s required

outputs.

Output specifications are usually multidimensional;

some common dimensions include :

o The output mission

o The required accuracy of output

o The completeness of the output information o The up-to-dateness of the information

o The availability of the information

o The standards for coding and documenting the software

system.

(11)

Product Operation - Reliability

■ Reliability requirements deal with failures to provide service.

■ Determine the maximum allowed software system failures rate, and can refer to the entire system or to one or more of its separate functions.

■ Use MTTF, MTBF and MTTR calculation

Examples :

1. The failures frequency of a heart-monitoring unit that will operate in a

hospital’s intensive care ward is required to be less than one in 20 years. Its heart attack detection function is required to have a failure rate of less than one per million cases.

2. One requirement of the new software system to be installed in the

main branch of Independence Bank, which operates 120 branches, is that it will not fail, on average, more than 10 minutes per month

(12)

Product Operation - Efficiency

Efficiency

requirements deal with the hardware

resources needed to perform all the functions of the

software system in conformance to all other

requirements.

Here we consider MIPS, MHz (cycles per second);

data storage capabilities measured in MB or TB or

communication lines (usually measured in KBPS,

MBPS, or GBPS).

Examples :

1. A chain stores is considering two alternative bids for a

software system.

(13)

Product Operation - Integrity

Integrity

requirements deal with the software

system security, that is requirements to present

access to an authorize person,

[to distinguish between the majority of personnel allowed to see the information (“read permit”) and a limited group who will be allowed to add and change data (“write permit”), and so forth.]

■ Example :

(14)

Product Operation - Usability

Usability deals with learnability, utility, usability, and more

Usability requirements deal with the scope of staff resources needed to train a new employee and to operate the software system.

■ Example :

The software usability requirements document for the new help desk system initiated by a home appliance service

company lists the following specifications :

a. A staff member should be able to handle at least 60 service

calls a day

b. Training a new employee will take no more than two days,

(15)

Product Revision

Factors

(16)

Product Revision software Quality

Factors

According to the McCall model of software quality

factors, three quality factors comprise the product

revision category. These factors deal with those

requirements that affect the complete range of

software maintenance activities :

(17)

Product Revision

Maintainability

Maintainability requirements determine the efforts that will be needed by users and maintenance personnel to identify the reasons for software failures, to correct the failures, and to verify the success of the corrections.

■ This factor’s requirements determine refer to the modular structure of software, the internal program documentation,

and the programmer’s manual, architectural and detail design and corresponding documentation.

■ Example typical maintainability requirements :

a. The size of a software module will not exceed 30 statements. b. The programming will adhere to the company coding standards

(18)

Product Revision - Flexibility

■ The capabilities and efforts required to support adaptive maintenance activities are covered by the flexibility

requirements.

■ These include the resources (in man-days) required to adapt a software package to a variety of customers of the same trade, of various extents of activities, of different ranges of products, and so on.

■ This factor’s requirements also support perfective

maintenance activities.

– May also involve a little perfective maintenance to perhaps do a little

better due to the customer’s perhaps slightly more robust

environment.

(19)

Product Revision - Testability

Testability

requirements deal with the testing of an

information system as well as with its operation.

Testability requirements for the ease of testing are

related to special features in the programs that help

the tester, for instance by providing predefined

intermediate results and log files.

– Are intermediate results of computations predefined to assist testing?

– Are log files created? Backup?

(20)

Product Transition

Factors

Can I ….

a. move the app to different hardware ? b. interface easily with different hardware /

software systems ?

c. reuse major portions of the code

(21)

Product Transition - Portability

(22)

Product Transition - Reusability

Reusability

requirements deal with the use

of software modules originally designed for

one project currently being developed.

– Can save immense development costs due to errors found / tested.

– Certainly higher quality software and development more quickly results.

(23)

Product Transition

-Interoperability

Interoperability requirements focus on creating interfaces with other software systems or with other equipment

firmware.

Interoperability requirements can specify the name of the software or firmware for which interface is required.

–Frequently these will be known ahead of time and plans can be made to provide for this requirement during design time.

•Sometimes these systems can be quite different; different platforms, different databases, and more

(24)

Alternative Models of Software

Quality Factors

Formal comparison of the alternative

models (

Evans M 1987

,

Deutsch & Willis

1988

)

Comparison of the factors models-content

analysis (

verifiability, expandability,

safety,

manageability, survivabilit

y)

(25)

Models Comparison of

(26)
(27)

Alternative - Verifiability

Verifiability

requirements addresses design and

programming features that allow for efficient

verification of design and programming

This does not refer to outputs; rather, structure of

code, such as design elements and their

dependencies, coupling, cohesion; patterns…

apply to modularity, simplicity, adherence to

documentation and programming guidelines, etc.

Look at the UML for dependencies, cohesion,

(28)

Alternative - Expandability

Expandability requirements really refers to scalability

and extensibility to provide more usability.

(29)

Alternative - Safety

Safety

requirements address conditions that could

bring the equipment or application down especially

for controlling software, as in setting alarms or

sounding warnings.

Safety is clearly important as computers control

more and more of what we do especially in both

hardware and in software.

■ Especially important to process control / real time software such as that running conveyor belts or instrumentation for ordinance

(30)

Alternative - Survivability

Survivability

requirements refer to MTBF, or

continuity of service, as well as MTTR (mean time to

recover).

(31)

Alternative - Manageability

Manageability

requirements refer to tools primarily

administrative to control versions, configurations

and change management / tracking.

■ We must have tools to manage versions and various

(32)

Who is interested in the definition

of quality requirements?

Some quality factors not included in the typical

client’s requirements document may, in many cases,

interest the developer.

The following lists of quality factors usually interest

the developer whereas they may raise very little

interest on the part of the client :

(33)

Requirements Documents

A project will be carried out to according to

two requirements documents :

The client’s requirements

document

The developer’s additional requirements

(34)

Software Compliance with

Quality Factors

The software’s product compliance to the

requirements belonging to the various quality

factors is measured by software quality metrics,

measures that quantify the degree of

compliance.

In order to allow for valid measurements of

(35)
(36)
(37)
(38)

Summary

1.

The need for a comprehensive requirements

documents and their contents.

2.

The structure (categories and factors) of

McCall’s classic factor

model.

3.

The additional factors suggested by

alternatives factor models.

(39)

Questions ?

Referensi

Dokumen terkait

Ya semestinya Itu ilmu dan keterampilan dasar yang harus dimiliki oleh mahasiswa Apa saja kitab atau buku-buku yang menjadi rujukan dari setiap penentuan

Berdasarkan dari hasil keseluruhan data dan seluruh hasil perhitungan maka dapat diketahui bahwa daya yang diperlukan Kantor PT. PGN Palembang agar

sepak terjang yang dilakukan oleh para Pimpinan Muhammadiyah serta kadernya yang berhubungan dengan politik praktis tentu akan mempedomani Khittah perjuangannya di

[r]

Factors Affecting Students' Quality of Academic Performance: A Case of Secondary School Level.. Journal of Quality and Technology

Kinerja merupakan suatu capaian atau hasil kerja dalam kegiatan atau aktivitas atau program yang telah direncanakan sebelumnya guna mencapai tujuan serta sasaran

 Menguasai pengetahuan yang kreatif dalam melakukan pendekatan kepada pemirsa televisi. 

Dengan demikian apapun bentuk yang dilakukan oleh sikap manusia untuk mempertahankan, memperbaharui atau memurnikan tradisi agama, tetap saja harus dipandang