Sunteți pe pagina 1din 38

CHAPTER 11

Managing Systems
Implementation
Erwin Ong, MSCS, MBA, PMP
Software Quality Assurance
Software Engineering
• Software engineering is a software development process that
stresses solid design, accurate documentation, and careful testing.
• Software Engineering Institute (SEI) is a leader in software
engineering and provides quality standards and suggested
procedures for software developers and systems analysts.
• To achieve that goal, SEI designed a set of software development
standards called the Capability Maturity Model (CMM).
• More recently, SEI established a new model, called Capability
Maturity Model Integration (CMMI)®, that integrates software
and systems development into a much larger framework called
process improvement.
ISO
• International Organization for
Standardization (ISO) is a worldwide
body that establishes quality
standards for products and services.
• ISO seeks to offer a global consensus
of what constitutes good management
practices — practices that can help
firms deliver consistently high-quality
products and services.
ISO 90003:2004
• A company can specify ISO standards when it purchases
software from a supplier or use ISO guidelines for in-house
software development to ensure that the final result measures
up to ISO standards.
• ISO requires a specific development plan, which outlines a
step by- step process for transforming user requirements into
a finished product.
• ISO standards can be quite detailed.
Application Development
Application Development
• Application development is the process of constructing the
programs and code modules that serve as the building blocks
of the information system.
• In Chapter 1, you learned that structured analysis, object-
oriented (O-O) analysis, and agile methods are three popular
development options.
• Let us review the tasks involved in the next slide.
Recall
• Traditional Methods
• Agile Methods
Recall the System Development
Tools you can use:
• Entity relationship diagram
• Flow chart
• Pseudocode
• Decision tables & decision trees
• All project management tools
Structured Application
Development
Structured Application
Development
• Structured application development usually involves a top-down
approach, which proceeds from a general design to a detailed
structure. After a systems analyst documents the system’s
requirements, he or she breaks the system down into subsystems
and modules in a process called partitioning.
• This approach also is called modular design and is similar to
constructing a leveled set of DFDs.
• Because all the modules must work together properly, an analyst
must proceed carefully, with constant input from programmers and
IT management to achieve a sound, well integrated structure. The
analyst also must ensure that integration capability is built into
each design and thoroughly tested.
Structure Charts
• Module
• Data couple
• Control couple
• Condition
• Loop
Cohesion & Coupling
Cohesion & Coupling
Cohesion & Coupling
Object-Oriented Application
Development
Object-Oriented Application
Development
• When implementing a structured design, a structure chart is
used to describe the interaction between program modules,
as explained earlier. In contrast, when implementing an
object-oriented design, relationships between objects already
exist. Because object interaction is defined during the O-O
analysis process, the application’s structure is represented by
the object model itself.
Object Oriented Cohesion &
Coupling
• The principles of cohesion and coupling also apply to object-oriented
application development. Classes should be as loosely coupled
(independent of other classes) as possible.
• In addition, an object’s methods also should be loosely coupled
(independent of other methods) and highly cohesive (perform closely
related actions).
• By following these principles, classes and objects are easier to
understand and edit. O-O programmers who ignore cohesion and
coupling concepts may end up creating a web of code that is difficult
to maintain.
• When code is scattered in various places, editing becomes
complicated and expensive.
Agile Application Development

Review our
detailed Agile
topic and read
this part of the
book. 
Coding
• Coding is the process of turning program logic into specific
instructions that the computer system can execute. Working
from a specific design, a programmer uses a programming
language to transform program logic into code statements. An
individual programmer might create a small program, while
larger programs typically are divided into modules that
several individuals or groups can work on simultaneously.
Testing
Testing (Important)
• After coding, a programmer must test each program to make
sure it functions correctly.
• This process detects syntax errors, which are language
grammar errors. The programmer corrects the errors until the
program executes properly.
• Next, the programmer desk checks the program. Desk
checking is the process of reviewing the program code to
spot logic errors, which produce incorrect results. This
process can be performed by the person who wrote the
program or by other programmers.
Testing (Important)
• Many organizations require a more formal type of desk checking
called a structured walkthrough, or code review. Typically, a
group of three to five IT staff members participate in code review.
• In addition to analyzing logic and program code, the project team
usually holds a session with users called a design walkthrough,
to review the interface with a cross-section of people who will work
with the new system and ensure that all necessary features have
been included.
• The testing of an individual program or module is called unit
testing. The objective is to identify and eliminate execution errors
that could cause the program to terminate abnormally, and logic
errors that could have been missed during desk checking.
Testing (Important)
• Testing two or more programs that depend on each other is
called integration testing, or link testing. For example,
consider an information system with a program that checks and
validates customer credit status, and a separate program that
updates data in the customer master file. The output from the
validation program becomes input to the master file update
program. Testing the programs independently does not
guarantee that the data passed between them is correct. Only
by performing integration testing for this pair of programs can
you make sure that the programs work together properly.
• After completing integration testing, you must perform system
testing, which involves the entire information system.
Testing (Important)
Additional Reading
Please Study because this Included in our final exam
• https://www.invensis.net/blog/it/software-test-design-techniqu
es-static-and-dynamic-testing/
• https://www.testingexcellence.com/istqb-tutorial/
• https://www.swtestacademy.com/software-testing-techniques/
• https://www.guru99.com/software-testing-techniques.html

I apologize for this but as future managers, you should


know how to test your software well.  Trust me!
System Testing Objective
Documentation
• Documentation describes an information system and helps
the users, managers, and IT staff who must interact with it.
Accurate documentation can reduce system downtime, cut
costs, and speed up maintenance tasks.
4 types:
1. Program documentation
2. System documentation
3. Operations documentation
4. User documentation
Management Approval
• After system testing is complete, you present the results to
management. You should describe the test results, update the
status of all required documentation, and summarize input
from users who participated in system testing. You also must
provide detailed time schedules, cost estimates, and staffing
requirements for making the system fully operational.
System Installation & Evaluation
• The new system now is ready to go to work. Your earlier design
activities produced the overall architecture and processing strategy,
and you consulted users at every stage of development. You developed
and tested programs individually, in groups, and as a complete
system. You prepared the necessary documentation and checked it for
accuracy, including support material for IT staff and users. Now, you
will carry out the remaining steps in systems implementation:
• Prepare a separate operational and test environment
• Provide training for users, managers, and IT staff
• Perform data conversion and system changeover
• Carry out a post-implementation evaluation of the system
• Present a final report to management
Operational & Test Environments
• The environment for the actual system operation is called the
operational environment or production environment.
The environment that analysts and programmers use to
develop and maintain programs is called the test
environment. A separate test environment is necessary to
maintain system security and integrity and protect the
operational environment.
Training
• A successful
information system
requires training for
users, managers, and
IT staff members. The
entire systems
development effort
can depend on
whether or not people
understand the
system and know how
to use it effectively.
Data Conversion
• Data conversion is an important part of the system installation
process. During data conversion, existing data is loaded into
the new system. Depending on the system, data conversion
can be done before, during, or after the operational
environment is complete.
• You should develop a data conversion plan as early as
possible, and the conversion process should be tested when
the test environment is developed.
System Changeover
• System changeover is the
process of putting the new
information system online and
retiring the old system.
Changeover can be rapid or slow,
depending on the method.
• The four changeover methods are
direct cutover, parallel operation,
pilot operation, and phased
operation.
Post Implementation Evaluation
• A post-implementation evaluation assesses the overall
quality of the information system. The evaluation verifies that
the new system meets specified requirements, complies with
user objectives, and produces the anticipated benefits.
Post Implementation Evaluation
• A post-implementation evaluation should examine all aspects
of the development effort and the end product — the
developed information system. A typical evaluation includes
feedback for the following areas:
Any questions?
Thank you!

S-ar putea să vă placă și