Software Quality Assurance - Bina Darma e

Download Report

Transcript Software Quality Assurance - Bina Darma e


The McCall’s model a classic model of software
quality factors, consists of 11 factors,
subsequent models, consisting of 12 to 15
factors, were suggested by Deutsch and Willis
and by Evans and Marciniak.
Software quality factors
Product operation factors
Product revision factors
Product transition factors
3


According to McCall, three quality factors are
included in the product transition category, a
category that pertains to the adaptation of
software to other environments and its
interaction with other software systems.
is the adaptability to new environments,
distributed processing together with rapidly
changing hardware.


The ability of the software to adapt in other
environments consisting of different hardware,
different operating systems, and so forth.
These requirements make it possible to continue
using the same basic software in diverse
situations or to use it simultaneously in diverse
hardware and operating systems situations.


Java programming language and runtime
environment has made it possible to have
programs that run on any operating system
that supports the Java standard
Java applets in the form of precompiled
bytecode can be sent from a server program
in one operating system to a client program
(your Web browser) in another operating
system without change.
















import java.applet.*;
import java.awt.*;
public class Main extends Applet{
public void paint(Graphics g){
g.drawString("Welcome in Java
Applet.",40,20); } }
<HTML>
<HEAD>
</HEAD>
<BODY>
<div >
<APPLET CODE="Main.class" WIDTH="800" HEIGHT="500">
</APPLET>
</div>
</BODY>
</HTML>




Ease of re-using software in a different
context.
Modules originally designed for one project in a
new software project currently being developed.
Given module can be used in future projects of the
currently developed software.
Reusability is the extent to which code can be used in
different applications with minimal change. As code is
reused in a new application, that new application
partially inherits the attributes of that code



Example
A software development unit has been
required to develop a software system for the
operation and control of a hotel swimming
pool that serves hotel guests and members of
a pool club.
After analyzing the information processing
requirements of the hotel’s spa, decided to
add the reusability requirement that some of
the software modules for the pool should be
designed and programmed in a way that will
allow its reuse in the spa’s future software
system, which is planned to be developed next
year.


The Reusability Principle states:
Ideally, components should be easy to reuse.




Examples of foundation components are
classes such as Date, List, Person, and
Number. These can be reused in almost any
application and have very low burden.
Examples of architecture-specific
components include event notification
mechanisms, user interfaces components
Examples of domain-specific components
include classes like Customer, Account, and
Transaction.
Examples of application-specific components
such message handlers


The following example sends a notification of
any ALTER TABLE statement run on the server
instance to the Service Broker instance in the
current database.
CREATE EVENT NOTIFICATION log_ddl1 ON
SERVER FOR ALTER_TABLE TO SERVICE
'//Adventure-Works.com/ArchiveService' ,
'current database';






public interface Drawable { /** Clear and useful
comment. */
public void drawYourself(Color baseColor,
double scaleFactor, int top, int left, DrawingArea
sketchPad); /** Clear and useful comment. */
public int getWidth(); /
public int getHeight(); ... } // interface
Drawable
Another class
public class DrawableCircle extends Circle
implements Drawable { .... } // class
DrawableCircle
Private void
textBox_Validating(objectsender,
CancelEvenArg e) {
If
(Convert.Toint32(textbox2.Text) < 35)
{
MessageBox.Show (“The age enter is not valid
>35”)}}




Interoperability: endeavor required to connect a
system to another system.
Focus on creating interfaces with other software
systems or with other equipment firmware.
Specify the output structure accepted as
standard in a specific industry or applications
area.
With the increasing use of distributed systems,
interoperability is a major issue to system
developers. The number of standards and
architectures have been developed to address
some of these issues, with varying degrees of
success. For example:

Architecture standards, such as the
Distributed Computing Environment's (DCE) ,
the Object Management Group's (OMG)
Common Object Request Broker Architecture
(CORBA), and Microsoft's Component Object
Model (COM), address the issue of calling
methods across language, process, and
machine boundaries.

using System;
namespace ManagedServer
{
public class CManagedServer
{
public CManagedServer()
{}
public string SayHello(string r_strName)
{
string str ;
str = "Hello " + r_strName ;
return str ;
}
}
}
}

The following is the code that creates the object and
calls its SayHello Method.
Private Sub
mdAcces()
ManagedComponent_Click()
Dim objServer As New
ManagedServer.CManagedServer
MsgBox(objServer.SayHello("15 Seconds reader"))
objServer = Nothing
The above code is very simple and COM
Interoperability wrappers have abstracted all the
complexities of accessing .NET components.


Another Example
The firmware of a medical laboratory’s
equipment is required to process its results
(output) according to a standard data structure
that can then serve as input for a number of
standard laboratory information systems.


Availability can also be expressed as a
mean time between failure (MTBF) and
mean time to repair (MTTR)
Availability = MTBF/(MTBF + MTTR)
◦ For example:
 The network should not fail more than once every
4,000 hours (166 days) and it should be fixed
within one hour
 Availability =4,000/(4000+1) = 99.98%
 Down Time = (%SLA Up Time- % Availability) * 60
(Minutes)
Minute/Per Hour Minute/Per Day Minute/Per Week Minute/Per Year
99.999%
.0006
.01
.10
5
99.98%
.012
.29
2
105
99.95%
.03
.72
5
263
99.90%
.06
1.44
10
526
99.70%
.18
4.32
30 1577



D. GALIN: “SOFTWARE QUALITY ASSURANCE: FROM
THEORY TO IMPLEMENTATION ”, PEARSON
EDUCATION, 2004.
K. NAIK AND P. TRIPATHY: “SOFTWARE TESTING
AND QUALITY ASSURANCE”, WILEY, 2008.
“SOFTWARE QUALITY ASSURANCE ENGINEERING AT
NASA”, ROSENBERG AND GALLO, IEEE AEROSPACE
..., 2002