System Implementation System Analysis and Design - Mr. Ahmad Al-Ghoul

advertisement
System Analysis and Design
System Implementation
- Mr. Ahmad Al-Ghoul
learning Objectives



Explain object-oriented application
development
Explain the coding process and
how code is generated
Explain unit testing, integration
testing, and system testing
Avicenna
System Analysis and Design
System Implemantation
2
Object-Oriented Application Development

Object-Oriented Application Development Compared to
Structured Development







In O-O analysis you can translate an object model into an
object-oriented programming language
when implementing an object-oriented design, relationships
between objects already exist
The application's structure is represented by the object model
itself
Objects contain both data and program logic, called methods.
Individual object instances belong to classes of objects with
similar characteristics
The relationship and interaction among classes are described
using a class diagram, which include attributes, and methods
In addition to class diagrams, programmers get an overview
of object interaction by using object relationship diagrams
that were developed during the analysis process
Avicenna
System Analysis and Design
System Implemantation
3
Object-Oriented Application Development

Implementation of Object-Oriented Design






Avicenna
When a programmer translates an object-oriented design
into an application, he/she analyzes the classes, attributes,
methods, and messages that are documented in the object
model
Programmer makes necessary revisions and updates to
class diagrams, sequence diagrams, state transition
diagrams, and activity diagrams
Main objective is to translate object methods into program
code modules and determine what event or message will
trigger the execution of each module
Transition diagrams show the events and messages that
trigger changes to an object
O-O applications are called event-driven, because each
event, transaction, or message triggers a corresponding
action
Programmer can use pseudocode, or CASE tools to create
object-oriented codes.
System Analysis and Design
System Implemantation
4

Coding
Coding
Physical design specifications are turned into working
computer code
 Coding is the process of turning program logic into specific
instructions that the computer system can execute using
programming language
 Larger programs are divided into modules that several
programmers can work on simultaneously
Programming Environments
 Each IT departments has its own programming environment
and standards and can use various programming languages
 Integrated development environments (IDEs)
 An integrated development environment (IDE) uses a built-in
CASE tool that a software vendor has included to make it
easier to plan, construct, and maintain a specific software
product.
 An IDE is designed to allow the easy integration of system
components with less time being spent on developing code
for interactive modules.


Avicenna
System Analysis and Design
System Implemantation
5
Coding

Generating Code


Avicenna
Systems analysts can use application
generators, report writers, screen generators,
fourth generation languages, and other CASE
tools that produce code directly from program
design specifications
Some commercial applications can generate
editable program code directly from macros,
keystrokes, or mouse actions
System Analysis and Design
System Implemantation
6
Testing the System




A test plan is developed during the analysis
phase
During the design phase, a unit test plan and a
system test plan are developed
The actual testing is done during implementation
Test plans provide improved communication
among all parties involved in testing
Avicenna
System Analysis and Design
System Implemantation
7
Testing the System



After coding, a programmer must test each
program to make sure that it functions correctly
Later, programs are tested in groups, and finally
the development team must test the entire
program
First step is to compile the program to detect
syntax errors


Syntax errors: are language grammar errors.
Second step, the programmer desk checks the
program.
 Desk checking: A testing technique in which
the program code is sequentially executed
manually by the reviewer
Avicenna
System Analysis and Design
System Implemantation
8
Testing the System
More formal type of desk checking called a structured
walkthrough, or code review
 Structured walkthrough, or code review: is a
review of a project team member's work by other
members of the team. Generally, systems analysts
review the work of other systems analysts, and
programmers review the work of other
programmers, as a form of peer review.
Third step, the project team holds a session with users
called a design walkthrough, to review interface and
assure that all features have been included.


Avicenna
System Analysis and Design
System Implemantation
9
Testing the System

Unit Testing

Each module is tested alone in an attempt to discover
any errors in its code, also called module testing




Avicenna
Test data should contain both correct data and erroneous
data and should test all possible situations that could occur.
Programmers must test programs that interact with other
programs and files individually
Stub testing, the programmer simulates each program
outcome or result and displays a message to indicate
whether or not the program executed successfully. Each stub
represents an entry or exit point that will be linked later to
another program or data file.
Regardless of who creates the test plan, the project
manager or a designated analyst also reviews the
final test results
System Analysis and Design
System Implemantation
10
Testing the System

Integration Testing, or link testing



Avicenna
The process of bringing together all of the
modules that a program comprises for testing
purposes. Modules are typically integrated in
a top-down, incremental fashion
Testing the programs independently does not
guarantee that the data passed between
them is correct
A testing sequence should not move to the
integration stage unless it has performed
properly in all unit tests
System Analysis and Design
System Implemantation
11
Testing the System

System Testing

The bringing together of all the programs that
a system comprises for testing purposes.
Major objectives:
Perform a final test of all programs
 Verify that the system will handle all input data
properly, both valid and invalid
 Ensure that the IT staff has the documentation
and instructions needed to operate the system
properly and that backup and restart capabilities of
the system are adequate

Avicenna
System Analysis and Design
System Implemantation
12
Testing the System

System Testing

Major objectives:
Demonstrate that users can interact with the
system successfully
 Verify that all system components are integrated
properly and that actual processing situations will
be handled correctly
 Confirm that the information system can handle
predicted volumes of data in a timely and efficient
manner

Avicenna
System Analysis and Design
System Implemantation
13
Testing the System

System Testing






Avicenna
Acceptance testing involves the entire information system.
An acceptance test includes all typical processing
situations.
During an acceptance test, users enter data, including
samples of actual, or live data, perform queries, and
produce reports to simulate actual operating conditions.
All processing options and outputs are verified by users
and the IT project development team to ensure that the
system functions correctly.
Some users want a system that is a completely finished
product, while others realize that minor changes can be
treated as maintenance items after the system is
operational
If conflicting views exist, management will decide whether
or not to install the system after a full discussion of the
options
System Analysis and Design
System Implemantation
14
Sequence Summary









when implementing an object-oriented design, relationships
between objects already exist
The application's structure is represented by the object model
itself
When a programmer translates an object-oriented design into an
application, he/she analyzes the classes, attributes, methods,
and messages that are documented in the object model
Coding is the process of turning program logic into specific
instructions that the computer system can execute using
programming language
Programmers perform desk checking, code review, and unit
testing tasks during application development
Systems analysts design the initial test plans, which include test
steps and test data for integration testing and system testing
Integration testing is necessary for programs that interact
The final step is system testing for the completed system
System testing includes users in the testing process
Avicenna
System Analysis and Design
System Implemantation
15
Sequence Summary

In this Sequence we have




Avicenna
Distinguished between object-oriented
application development and structured
development
Explained object-oriented application
development
Explained the coding process and how code is
generated
Explained testing process including unit
testing, integration testing, and system
testing
System Analysis and Design
System Implemantation
16
Reference
[1] System Analysis and Design, Sixth
Edition
Authors: Gary B. Shelly, Thomas J.
Cashman and Harry J. Rosenblatt
Publisher: SHELLY CASHMAN SEWIES.
Avicenna
System Analysis and Design
System Implemantation
17
Download