system development and testing report (black).docx
TRANSCRIPT
-
8/14/2019 System Development and Testing report (black).docx
1/6
System Development and Testing
System developmentis the process of defining, designing, testing, and implementing anew software application or program. It converts a design into complete information system. Itcould include the internal development of customized systems, the creation of database systems,or the acquisition of third party developed software.
Objective:To transform programs internal specifications into program code using a
computer language.
System Development Life Cycle
The SDLC typically consists of three major stages: definition, development, andinstallation and operation. These three major stages can be divided into 10 phases.
Figure 1: The Ten Phases of the System Development Life Cycle
Defini tion Stage
1. Service Request or ProjectViability Assessment
To initiate a project and conduct cost/benefit
analysis as well as a feasibility study.
2. System Requirements Definition To define project scope, analyze the existingsystem, and define information requirements, data
attributes, and system objectives.
3. System Design Alternatives To identify and evaluate alternate system designsand prepare initial project schedules.
Development Stage
4. System External Specifications To specify data flow, user/system interface, systemcontrols, and manual supporting procedures.
5. System Internal Specifications To specify processing logic, file structure, moduleinterfaces, and system architecture.
6. Program Development To transform programs internal specifications intoprogram code using a computer language.
7. Testing To verify and validate the system being developedthroughout the SDLC.
I nstall ation and Operation Stage
8. Conversion To convert the data formats and procedures for thenew system.
9. Implementation To install the hardware and software for the newsystem, and cutover the system into production.
10.Post Implementation Review orMaintenance
To monitor and maintain the quality and
performance of the new system.
-
8/14/2019 System Development and Testing report (black).docx
2/6
Computer programming(often shortened to programming) is the comprehensiveprocess that leads from an original formulation of a computing problem to executable
programs.The purposeof programming is to find a sequence of instructions that will automate
performing a specific task or solve a given problem.
Quality Requirements:
1. Reliability. How often the results of a program are correct. This depends on conceptualcorrectness of algorithms, and minimization of programming mistakes, such as mistakes in
resource management (e.g.,buffer overflows andrace conditions)and logic errors (such as
division by zero oroff-by-one errors).
2. Robustness.How well a program anticipates problems not due to programmer error? Thisincludes situations such as incorrect, inappropriate or corrupt data, unavailability of needed
resources such as memory, operating system services and network connections, and user
error.
3. Usability.Theergonomics of a program; the ease with which a person can use the programfor its intended purpose or in some cases even unanticipated purposes.
4. Portability. The range ofcomputer hardware andoperating systemplatforms on whichthesource code of a program can becompiled/interpreted and run.
5. Maintainability.The ease with which a program can be modified by its present or futuredevelopers in order to make improvements or customizations, fixbugs andsecurity holes,or
adapt it to new environments.
6. Efficiency/performance.The amount of system resources a program consumes (processortime, memory space, slow devices such as disks, network bandwidth and to some extent
even user interaction): the less, the better.
Readabilityof source code refers to the ease with which a human reader can comprehendthe purpose, control flow, and operation ofsource code.Unreadable code often leads to bugs,
inefficiencies and duplicated code.
Modern Programming Languages:COBOLfor corporate data center
FORTRANfor engineering applications
SCRIPTING LANGUAGESfor web developmentC - for embedded applications
http://en.wikipedia.org/wiki/Reliability_engineering#Software_reliabilityhttp://en.wikipedia.org/wiki/Buffer_overflowhttp://en.wikipedia.org/wiki/Race_conditionhttp://en.wikipedia.org/wiki/Off-by-one_errorhttp://en.wikipedia.org/wiki/Robustness_(computer_science)http://en.wikipedia.org/wiki/Usabilityhttp://en.wikipedia.org/wiki/Ergonomicshttp://en.wikipedia.org/wiki/Software_portabilityhttp://en.wikipedia.org/wiki/Computer_hardwarehttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Source_codehttp://en.wikipedia.org/wiki/Compilerhttp://en.wikipedia.org/wiki/Interpreter_(computing)http://en.wikipedia.org/wiki/Maintainabilityhttp://en.wikipedia.org/wiki/Software_bughttp://en.wikipedia.org/wiki/Vulnerability_(computing)http://en.wikipedia.org/wiki/Algorithmic_efficiencyhttp://en.wikipedia.org/wiki/Performance_engineeringhttp://en.wikipedia.org/wiki/Source_codehttp://en.wikipedia.org/wiki/Source_codehttp://en.wikipedia.org/wiki/Performance_engineeringhttp://en.wikipedia.org/wiki/Algorithmic_efficiencyhttp://en.wikipedia.org/wiki/Vulnerability_(computing)http://en.wikipedia.org/wiki/Software_bughttp://en.wikipedia.org/wiki/Maintainabilityhttp://en.wikipedia.org/wiki/Interpreter_(computing)http://en.wikipedia.org/wiki/Compilerhttp://en.wikipedia.org/wiki/Source_codehttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Computer_hardwarehttp://en.wikipedia.org/wiki/Software_portabilityhttp://en.wikipedia.org/wiki/Ergonomicshttp://en.wikipedia.org/wiki/Usabilityhttp://en.wikipedia.org/wiki/Robustness_(computer_science)http://en.wikipedia.org/wiki/Off-by-one_errorhttp://en.wikipedia.org/wiki/Race_conditionhttp://en.wikipedia.org/wiki/Buffer_overflowhttp://en.wikipedia.org/wiki/Reliability_engineering#Software_reliability -
8/14/2019 System Development and Testing report (black).docx
3/6
New languages with new functionality added:C++ - adds object-oriented to C
Javaadds memory management and byte code to C++
Few basic instructions in a programming language:
Input: Gather data from the keyboard, a file, or some other device. Output: Display data on the screen or send data to a file or other device. Arithmetic: Perform basic arithmetical operations like addition and multiplication. Conditional Execution: Check for certain conditions and executes the appropriate
sequence of statements.
Repetition: Perform some action repeatedly, usually with some variation.
System testingof software or hardware is testing conducted on a complete, integratedsystem to evaluate the system's compliance with its specifiedrequirements. It seeks to detect
defects both within the "inter-assemblages" and also within the system as a whole. System
testing tests not only the design, but also the behavior and even the believed expectations of the
customer.
Software testing validates and verifies if a software program or application or product:
1. Meets the requirements that guides its design and development;2. Work as expected;3. Can be implemented with the same characteristics; and4. Satisfies the needs of the stakeholders.
Figure 2: Structural and Functional System Tests
Type of Test Test purpose
Structural Testing:
Compliance Test To determine whether the system developed is
in accordance with standards and procedure.
Configuration Test To determine whether the system work under
minimum and maximum configurations.
Documentation Test Whether the user documentation is accurate
Maintainability Test Whether the system is easy to maintain and the
internal logic documentation is accurate
Operations Test Whether the system be executed in a normal
http://en.wikipedia.org/wiki/Requirementshttp://en.wikipedia.org/wiki/Requirements -
8/14/2019 System Development and Testing report (black).docx
4/6
operational status
Performance Test Whether the system achieves desired levels of
performance or efficiency under certain
workload and configurations
Portability Test Whether the system is compatible, installable
and maintainable
Recovery Test Whether the system can be returned to an
operational status after a failure
Reliability Test Whether the system meets the reliability
objective
Security Test Whether the system is protected in accordance
with its level of importance to the organization
Storage Test Whether the system have enough main and
secondary storage
Stress Test Whether the system performs with peak load
over a short span of time
Functional System Testing
Auditability Test Whether the system provides an audit trail and
meets other auditing standards
Control Test Whether the controls reduce the system risk to
an acceptable level
Error-handling Test Whether errors can be prevented or detected
the corrected
Inter-systems Test Whether data can be correctly passed from one
system to another
Manual Support Test Whether the people-computer interaction
works
Parallel Test Whether there are unplanned differences
between the old and the new system
Regression Test Whether the unchanged system components
still perform correctly with the changed
component
-
8/14/2019 System Development and Testing report (black).docx
5/6
Requirement Test Whether the system performs as specified
Usability Test Whether the system and documentation are
user-friendly
Testing tools
Program testing and fault detection can be aided significantly by testing tools
anddebuggers.Testing/debug tools include features such as:
1. Program monitors, permitting full or partial monitoring of program code including: Instruction set simulator,permitting complete instruction level monitoring and trace
facilities
Program animation,permitting step-by-step execution and conditionalbreakpoint atsource level or inmachine code
Code coverage reports2. Formatted dump orsymbolic debugging,tools allowing inspection of program variables
on error or at chosen points
3. Automated functional GUI testing tools are used to repeat system-level tests through theGUI
4. Benchmarks,allowing run-time performance comparisons to be made5. Performance analysis (or profiling tools) that can help to highlighthot spots and resource
usage.
http://en.wikipedia.org/wiki/Debuggerhttp://en.wikipedia.org/wiki/Instruction_set_simulatorhttp://en.wikipedia.org/wiki/Program_animationhttp://en.wikipedia.org/wiki/Breakpointhttp://en.wikipedia.org/wiki/Machine_codehttp://en.wikipedia.org/wiki/Code_coveragehttp://en.wikipedia.org/wiki/Symbolic_debugginghttp://en.wikipedia.org/wiki/Benchmark_(computing)http://en.wikipedia.org/wiki/Performance_analysishttp://en.wikipedia.org/wiki/Hot_spot_(computer_science)http://en.wikipedia.org/wiki/Hot_spot_(computer_science)http://en.wikipedia.org/wiki/Performance_analysishttp://en.wikipedia.org/wiki/Benchmark_(computing)http://en.wikipedia.org/wiki/Symbolic_debugginghttp://en.wikipedia.org/wiki/Code_coveragehttp://en.wikipedia.org/wiki/Machine_codehttp://en.wikipedia.org/wiki/Breakpointhttp://en.wikipedia.org/wiki/Program_animationhttp://en.wikipedia.org/wiki/Instruction_set_simulatorhttp://en.wikipedia.org/wiki/Debugger -
8/14/2019 System Development and Testing report (black).docx
6/6
Mariano Marcos State University
COLLEGE OF BUSINESS, ECONOMICS AND ACCOUNTANCY
City of Batac
SYSTEM DEVELOPMENT
AND TESTING
Submitted by:
Policarpio, Bradley R.
Ramos, Kimberly S.BS in Accountancy IV
August 2013