By Raul Bernardino
Introduction:
Any electronic devices such as
starting from refrigerators to electric shavers, ever-greater numbers of
consumer goods are being computerized to provide additional benefits to the
user. In the products lines, for instance cars, watches, mobile phones, Air Conditioners,
and TV-sets, are now increasing their functionality in order to gain and fulfill
the market demands. It is also has increased the complexity of the products.
The software that powers these features is embedded and has to react in real-time
to events from outside (e.g. activating a car air bag in case of an accident,
auto drive cars, etc.).
An embedded system is a
combination of computer hardware and software, and perhaps additional
mechanical or other parts, designed to perform a dedicated function as part of a
larger system or product. Embedded software is software designed to perform a
dedicated function as part of a larger (software) system. A real-time system is
able to response to an external event within a given time.
Embedded systems form the by far
the largest part of presently used computer systems. The class of embedded
systems includes both, systems which are similar to the present Personal
Computer (PC), and smallest systems with a minimal memory and calculator
capacity. The development of software systems for such platforms makes by far
higher demands than the development of general purpose systems for the use on
PC and workstations. However, in this very area, progressive development
techniques such as object-oriented design and implementation are only slowly
gaining ground. Moreover, the common machine language is to enable machines or
parts to work as it is designed can use Assembler the low level machine
language, Turbo Pascal, turbo C, and most recently C++. The resulting deficits
mainly affect the area of re-usability of existing solutions, and the
verification and validation of embedded systems, respectively.
In my own opinion the program or
software verification, validation, and tuning will be continuing exist in the
future. Why is that, it is because there will be a lot of software applications
and programs to be developed wherein to meet to the demands from the customers
and business entities in particular. Therefore, system application in this case
software needs to have a standard of validation, verification of the system in
order to meet the customer needs or including satisfying business requirements.
No matter in what approaches it would be, either it is manual approach or
automatic approach.
[1]The modeling of Artificial
Intelligent can be replaced all manual software testing. At this moment, the automatics
algorithm test will be cost effective rather than manuals check in which inspects
one by one steps of coding, logic, software development standard, errors
detection and etc. [2],[3] The manual testing will be harder and time
consuming. It will be using lot recourses (programmers and system analysts,
-man power) and at the end it’s becoming an expensive cost.
In some cases, the manual
approach of verification and validation still needed as far as those businesses
are not on real-time decision making or real-time solution needs. Because the
program will be taking a time to solve the problem by his/her owns algorithm
and logic. Furthermore, it needs verification and validation test.
In the case above, I am thinking
that, there would be no more work of art. What would happen is that, there will
be having a lot of system analyst in which is to determine what model is precisely
closer to the problem solution that the customer requires.
One of many examples is in Europe
the [4] ‘ESA PSS-05-0 describes the software engineering standards to be applied
for all deliverable software implemented for the European Space Agency (ESA),
either in-house or by industry’.
The Verification
of the software
These are [5] ‘act of reviewing, inspecting, testing, checking, auditing, or
otherwise establishing and documenting whether items, processes, services or
documents conform to specified requirements’.
The verifier reviews, checks, and
tests or audits all relate documents to conform all specified needs. If it is
not meet according to what planned, then rework the whole process.
The Validation
of the software
These are a processing of the [6]
‘system evaluation or component during,
at the end of the development processes in which to determine whether they are
satisfying the specified requirements’.
This is a part of appraiser to
sign off the project of software development if the software is satisfying the
needs otherwise reworks the parts that need to be fixed.
The Walkthrough
of the software
[6] ‘A static analysis technique in which a designer or programmer leads members
of the development team and other’. This is to allow the designer to check
and recheck during developing code, make a comparator to the development
standards, find internal errors or defects, and etc.
[7] Picture
The
objective of verification and validation are to test the life-cycle of
application in which to discover system defects and assess whether or not the
system is usable in the operational environment.
REFERENCES:
- Shuvendu K. Lahiri and Shaz Qadeer (2007) Back to the Future Revisiting Precise Program Verification using SMT Solvers, Microsoft Research [internet]. Available from: http://research.microsoft.com/pubs/70462/tr-2007-88.pdf (Accessed: 30 October 2010)
- Frank Hutter, Domagoj Babi´c, Holger H. Hoos, and Alan J. Hu, Department of Computer Science, University of British Columbia, Boosting Verification by Automatic Tuning of Decision Procedures [internet]. Available from: http://www.computer.org/portal/web/csdl/doi/10.1109/FAMCAD.2007.9 (Accessed: 30 October 2010)
- Arthur Chargueraud, (2009), Formal Software Verification Through Characteristic Formulae [internet]. Available from: http://www.chargueraud.org/arthur/research/2009/cfg/cfg.pdf (Accessed: 30 October 2010)
- ESA Software Engineering Standards, ESA PSS-05-0 Issue 2, February 1991, [Internet]. Available from: ftp://ftp.estec.esa.nl/pub/wm/wme/bssc/PSS0510.pdf (Accessed: 30 October 2010)
- ANSI/ASQC A3-1978, Quality Systems Terminology [Internet]. Available from: ftp://ftp.estec.esa.nl/pub/wm/wme/bssc/PSS0510.pdf (Accessed: 30 October 2010)
- IEEE Standard Glossary of Software Engineering Terminology, ANSI/IEEE Std 610.12-1990, [Internet]. Available from: ftp://ftp.estec.esa.nl/pub/wm/wme/bssc/PSS0510.pdf (Accessed: 30 October 2010)
- Software Engineering, Edition 6th, Chapter 19
No comments:
Post a Comment