Uploaded by Àbdélwhäb Fàthêlråhmàn

CH1-Software and Quality Concepts

advertisement
Chapter(1):
Software and Quality Concepts
1
Contents:
 Basic Software Concepts:
 Software Components
 Software Types
 Software Characteristics
 Software Myths ( **Self Reading ......)
 Quality Concepts:
 Software Quality: an overview
 Definitions Software Quality
2
Contents:
 Quality Concepts:
 Quality Factors
 Quality Planning
 How to produce good Quality Software
 Software Quality Metrics
 Software Quality Assurance
 Software Quality Models
3
Basic Software Concepts
4
Software Concepts:
 Software is generally referred as:
“ Instruction that when executed provide desired
function and performance ;
Data structures that enable the programs to
adequately )‫ (كاف أو مقبول‬manipulate information, and ;
Documents that describe the operation and use of
programs.
5
Software Components:
 Software is composed of : programs , data and
documents,
 Each of these items comprises(‫ )يتضمن‬a configuration
that is created as a part of software engineering
process.
 Several researchers introduced a new definition for
component-based software life cycle as follow:
“ The component-based software life cycle is the life
cycle process for a software component with an
emphasis on business rules, business process
modeling, design, construction, continuous testing,
deployment, evaluation and subsequence reuse
and maintenance ”.
6
Software Types:
There are Four major types of Software:
1. Application Software:
 Set of computer instructions written in programming languages.
 The instructions direct the computer hardware to perform
specific data or activities that provide functionality to users.
 e.g.: Business enterprise systems (Payroll, Medical), Games,
...... , etc
2. System Software:
 Acts primarily as an intermediary(‫ )وسيط‬between computer
hardware and application programs.
 e.g: ( Operating System, programming languages, ..etc ).
7
Software Types:
3. Development Software (backend software):
 Used to build the information systems, it includes:
 Compilers (translate the source code written in languages
such as: Cobol, C++, Pascal , etc ) ,
 Database Management System such as (Oracle, MySQL,
SQL server, etc)
 Computer-Aided Software Engineering System (CASE).
8
Software Types:
4. End-User Software:
 Deals with performing tasks that support general
business process, (used as hand-on tool by the
end users). ‫اداة يديوية‬
 e.g. : Spreadsheet, Word Processor, Ms-office,….etc
9
Software Characteristics: Differences
between hardware and software
 Some of the software characteristics are:
1. Software Never Breaks:
- Software failure are design faults (closely related to fuzzy
human factors and design process).
- Hardware failure are mostly physical faults.
2. Software Is Developed Not Manufactured:
- Software is Developed while hardware is Manufactured.
- Manufacturing phase of hardware can introduce some quality
problems that can be easily corrected in the software.
10
Software Characteristics: Differences between
hardware and software
 Some of the software characteristics are:
3. Software Is Custom-Built:
- Proper instructions and information are available to the design
engineer to manufacture the hardware (such as Catalog)
- While there is no such facilities available at the time of software
development (No Catalog of software components).
11
Quality Concepts
12
Software Quality: an overview

We all have an idea about the meaning of
quality.

But when it comes to software quality
disagreements between people arises.

Most software professionals understand
software quality as testing, verification and
validation of software.
13
Software Quality: an overview

Quality is achieved when a project and product
meets the client’s needs and expectations.

Several studies shown that the success of any
project depends largely on the quality of
product or service delivered to the clients.
14
Definitions of Software Quality:

Frank Price

Quality is: giving the customer what he wants
today, at a price he is pleased to pay, at a cost we
can contain, and giving him something even
better tomorrow.

Quality is the matching of what you wanted with
what you got.
i.e. Expectation vs. Fulfillment (or achievement)
15
Definitions of Software Quality:
 Quality is defined by international organization as:

ANSI (American National Standards Institute) :
"Quality is the totality of characteristics and features
of a product or a service that bears on its ability to
satisfy the given needs"

IEEE Standard ( Institute of Electrical and
Electronics Engineers):
“The totality of features and characteristic of the
software product that bears on its ability to satisfy
given needs: for example; conform to specifications“
16
Definitions of Software Quality:
 Quality is defined by international organization as:

German Industry Standard:
“Quality comprise(‫ )تتضمن‬all characteristics and
significant(‫ )هام أو ذو معنى‬features of a product or an
activity which relates to the satisfying of giving
requirements“.
17
Definitions of Software Quality:
 The concept of ‘Software Quality’ can be described
from Five different perspectives as follow:
1. User View:
Describes quality as :’Conformance(‫ )توافق‬to
user requirements’ and ‘Fitness(‫ )مالئمة‬for use’.
 Conformance to user requirements implies that
requirements must be clearly stated and defined,
so that it cannot be misunderstood.
 Fitness for use means take customer requirements
and expectations into account.
18
Definitions of Software Quality:
2. Transcendental View: (‫)من واقع الخبرة والمعرفة‬
Describes quality as something that can be recognized
but not defined.
.‫تصف الجودة بأنها شيء يمكن التعرف عليه ولكن غير محدد‬
3. Value View:
Describes quality in relation to value that the customer
is willing to pay for software.
19
Definitions of Software Quality:
4. Manufacturing View:
Software Engineers consider quality as conformance
to specification. (‫)المطابقة للمواصفات المطلوبة‬
5. Product View:
Software quality is an abstract concept that can be
divided into specific product characteristics. ( ‫التقسيم‬
‫)وفقا ً لخصائص المنتج‬
20
Definition Conclusion:
Quality has received different definitions being highly
fashionable subject, all related to client satisfaction.



Quality is achieved when a product meets the client’s
needs and expectations.
Software quality is no longer an advantage but a
necessary factor for software industry as it may
cause for human life, time and budget.
‫لم تعد جودة البرمجيات ميزة ولكنها عامل ضروري لصناعة البرمجيات‬
.‫ألنها يمكن ان تؤثر في حياة اإلنسان والوقت والميزانية‬
21
Quality Factors:
 Software quality factor is a non-functional requirement
for a software product which is not called up by the
customer's contract, but it is important to enhance(‫)تعزيز‬
the quality of the software.
 Quality can be characterized by a series of properties
or factors:
Correctness
Refer to which a program satisfies its
Specification(‫)مواصفات‬
Reliability
Defines how well the software meets its
requirements
Efficiency
Refer to all issues related to the execution of
software
22
Quality Factors:
Usability
Operate the software property easily.
Maintainability Effort required to locate and fix errors
Testability
Flexibility
Portability
Effort required to test and ensure that the
system performs its intended function
Effort required to modify an operation
program
Effort required to transfer the software
from one platform or hardware
configuration to another.
Reusability
Refer to which parts of the software can
be reused in other related applications
Interoperability Effort to couple(‫ )ربط‬the system with other
‫التوافقية‬
systems.
23
Quality Planning: Quality must be planned

Traditionally, quality was the final step of software
development which is not right (Why?).

It is important to monitor and manage the quality of
software when it is under development rather than after
completion of development work

So that such a task is the purpose of the software quality
models

Quality models provide early signs of warning or of
improvement so that timely action may be planned or
implemented.
24
How to produce good Quality Software:

Quality of software product depends on many
factors including:
 Process being used to develop the product,


Improving the software processes is commonly
agreed to be the solution for software companies
fighting against delivery delays, cost overriding, and
quality flaws in the end products .


The design and characteristics of implementation.
e.g: quality process is needed to produce quality
products cost effectively.
In order to improve the processes we need to
measure the quality of processes.
25
Software Quality Metrics:

Software metrics are tools of measurement (‫)أداة قياس‬.

Software engineering metrics may allow and facilitate
the following:
o Quantitatively define the success and failure, and/or the
degree of success or failure, for a product, process, or
person.
o Identify and quantify improvement, lack of improvement
in product, process, and people.
o Make meaningful and useful managerial and technical
decisions.
o Make quantified and meaningful estimates(‫)تقديرات‬
26
Software Quality Assurance (SQA):

SQA is a structured approach to software
quality evaluation and estimation.

It assures that the standards and procedures
established are followed throughout the software
development life cycle through process monitoring,
evaluation and audits.
‫التأكد من اتباع وتطبيق المعايير واالجراءات التى تم تحديدها خالل دورة حياة‬
.‫تطوير البرمجيات من خالل عملية الرصد والتقييم والمراجعة لمراحل التطوير‬


We will discuss the SQA in more detail on the
next chapter.
27
Reference:
 Software Quality: Concepts and Practices,
Chapter[1]: Software and Quality Concept
By: R. A. Khan, K. Mustafa, S. i. Ahson, 2006
( ISBN 1-84265-305-9)
28
Seminars .....
29
Seminars:
‫السمنارات‬
 Each group of (3 students) chooses a
topic from the list of seminars.
 Each seminar consists of:
 15 minutes talk (not more)
 Up to 10 pages of brief key information
(handed before the seminar)
‫ فى حالة تسليم التقرير قبل الموعد المحدد‬:‫ملحوظة هامة‬
.)Bonus++(‫تُحسب درجات إضافية للمجموعة‬
30
‫طريقة التقييم للسمنارات‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫طريقة العرض‬
‫فهم الموضوع‬
‫البحث المبذول‬
‫توزيع الزمن‬
‫األسئلة والمناقشة‬
‫التقرير‬
‫× تخصم درجات إذا‪:‬‬
‫‪Seminars:‬‬
‫( ‪) %10‬‬
‫( ‪) %25‬‬
‫( ‪) %10‬‬
‫( ‪) %10‬‬
‫( ‪) %20‬‬
‫( ‪) %25‬‬
‫‪ ‬زاد زمن السمنار عن ‪ 20‬دقيقة‬
‫‪31‬‬
‫‪ ‬التأخير في تسليم التقرير‬
Seminars: Group(A)
Part One: Submission Date: 3 / 3 /2020 (‫)تاريخ تسليم التقرير‬
Seminar Date : 10/ 3/ 2020
Topic
Chapter
1. Software Quality Factors
CH(3)
2. Contract Review
CH(5)
3. Development and Quality Plan
CH(6)
4. SQA Review
CH(8)
5. Software Testing – Strategies
CH(9)
32
Seminars: Group(B)
Seminar Date : 17/ 03/ 2020
Topic
Chapter
1. Software Testing – implementation
CH(10)
2. Assuring the quality of software
maintenance components
3. CASE tools and their effect on
software quality
4. Procedures and work instructions
CH(11)
CH(12)
5. Configuration Management
CH(18)
CH(14)
33
Seminars: Group(C)
Seminar Date : 24 / 03 / 2020
Topic
Chapter
1. Documentation Control
CH(19)
2. Project Progress Control
CH(20)
3. Software Quality Metrics
CH(21)
4. Costs of Software Quality
CH(22)
34
Seminars: Group(D)
Seminar Date : 31 / 03 / 2020
Topic
Chapter
1. Quality management standards
CH(23)
2. Management and its role in software
quality assurance
3. The SQA unit and other actors in the
SQA system
4. Software Risk Management
CH(25)
CH(26)
pdf file
35
Part Two
(Practical issues on the Sudanese SMEs)
Submissions Dates
First Submission Date: 18 / 2 /2020 (‫)تاريخ تسليم التقرير‬
Second Submission Date: 3 / 3 /2020 (‫)تاريخ تسليم التقرير‬
Third Submission Date: 17 / 3 /2020 (‫)تاريخ تسليم التقرير‬
Fourth Submission Date: 31 / 3 /2020 (‫)تاريخ تسليم التقرير‬
Fifth Submission Date: 7 / 4 /2020 (‫)تاريخ تسليم التقرير‬
36
Download