Sie sind auf Seite 1von 43

CHAPTER 9

MANAGING SYSTEMS
IMPLEMENTATION
OBJECTIVES
• Explain the importance of software quality
assurance and software engineering
• Describe application development using
structures, object-oriented, and agile methods.
• Draw a structure chart showing top-down design,
modular design, cohesion, and coupling
• Explain the coding process
• Explain unit, integration, and system testing
• Differentiate between program, system,
operations, and user documentation
• List the main steps in system installation and
evaluation
• Develop training plans for various user groups,
compare in-house and vendor training options,
and describe effective training techniques
• Describe data conversion and changeover
methods
• Explain post-implementation evaluation and final
report to management
SOFTWARE QUALITY ASSURANCE
• Avoid problems or to identify as soon as
possible
SOFTWARE ENGINEERING
• It is a software development process
the stresses solid design, accurate
documentation, and careful testing.
Software Engineering Institute (SEI)
A leader in software engineering and provides quality
standards and suggested procedures for software
developers and systems analysts.
 Primary objective is to find better, faster, and less-
expensive methods of software development.

Capability Maturity Model (CMM) 1991


 Ithelps to improve software quality, reduce
development time, and cut costs.
Capability Maturity Model Integration (CMMI)
 integratessoftware and systems development into a
much larger framework called process improvement
 tracks an organization’s processes, using five
maturity levels
INTERNATIONAL ORGANIZATION
FOR STANDARDIZATION (ISO)
 Isa worldwide body that establishes quality
standards for products and services,
including software development.
 ISO established a set of guidelines called
ISO 9000-3, which provided a quality
assurance framework for developing and
maintaining software. (1991)
ISO standards
include
internationally
recognized
symbols
Application development
 Itis the process of constructing the
programs and code modules that serve as
the building blocks of the information
system
MODULE
 Consistsof related program code
organized into small units that are easy
to understand and maintain
Main Steps in
Application
Development
AGILE METHODS
 intense communication and collaboration will
now begin between the IT team and the users
or customers
 The objective is to create the system through
an iterative process of planning, designing,
coding, and testing
 Agile projects use various models, including
the spiral model
Simplified model of an Extreme Programming (XP)
project. Note the emphasis on iteration and testing.
Systems Development Tools
System developers also can use
multipurpose tools to help them translate
the system logic into properly functioning
program modules.
These generic tools include entity-
relationship diagrams, flowcharts,
pseudocode, decision tables, and decision
trees.
ENTITY-RELATIONSHIP
DIAGRAMS
An ERD is a useful tool regardless of which
methodology you are using, because the various
relationships (one-to-one, one-to-many, and
many-to-many) must be understood and
implemented in the application development
process.
FLOWCHARTS
 represents logical rules and interaction
graphically, using a series of symbols
connected by arrows
 programmers can break large systems into
subsystems and modules that are easier to
understand and code.
 used to describe program logic, and are very
useful in visualizing a modular design
PSEUDOCODE
 is
a technique for representing
program logic
 Using pseudocode, a systems analyst
or a programmer can describe program
actions that can be implemented in
any programming language.
Notice the alignment and indentation of the logic statements
DECISION TABLES
AND DECISION TREES
Analysts and programmers can use decision
tables and decision trees during system
development, as they develop code modules
that implement the logical rules.
Like a decision table, a decision tree shows
the action to be taken based on certain
conditions.
Sample decision tree that reflects the sales promotion policy
Project Management
 Users and managers are looking forward
to the new system, and it is very
important to set realistic schedules, meet
project deadlines, control costs, and
maintain quality.
 Systems analyst or project manager should
use project management tools and
techniques to monitor and control the
development effort.
STRUCTURED APPLICATION
DEVELOPMENT
Top-down approach
 proceeds from a general design to a
detailed structure.
Partitioning (Modular Design)
 breaks the system down into subsystems and
modules in a process
Structure Charts
 Structure charts show the program modules and
the relationships among them
 A structure chart consists of rectangles that
represent the program modules, with arrows and
other symbols that provide additional information
 Symbols represent various actions or conditions
 Structure chart symbols represent modules, data
couples, control couples, conditions, and loops
MODULE
 rectangle represents a module
Library module
 is reusable code and can be invoked from more than one
point in the chart

An example of
Structure chart
modules
DATA COUPLE

An arrow with an empty circle represents


a data couple
A data couple shows data that one module
passes to another.
CONTROL COUPLE
An arrow with a filled circle represents a
control couple
A control couple shows a message (Status
Flag) which one module sends to another
CONDITION
 A line with a diamond on one end represents a
condition
 A condition line indicates that a control module
determines which subordinate modules will be
invoked, depending on a specific condition
The diagram shows a control module that triggers three
subordinate modules.
LOOP
A curved arrow represents a loop.
A loop indicates that one or more
modules are repeated
Cohesion and
Coupling
Cohesion
 Cohesion measures a module’s scope and
processing characteristics.
 A module that performs a single function
or task has a high degree of cohesion,
which is desirable
Two examples of cohesion. Notice that the single module on
the left is less cohesive than the two modules on the right.
Coupling
 Coupling describes the degree of interdependence
among modules.
 Modules that are independent are loosely coupled,
which is desirable.
 If a programmer needs to update a loosely coupled
module, he or she can accomplish the task in a
single location.
 If modules are tightly coupled, one module is linked
to internal logic contained in another module
Drawing a Structure Chart
STEP 1: REVIEW THE DFDS (Data Flows
Diagrams)
STEP 2: IDENTIFY MODULES AND
RELATIONSHIPS
STEP 3: ADD COUPLES, LOOPS, AND
CONDITIONS
STEP 4: ANALYZE THE STRUCTURE CHART AND
THE DATA DICTIONARY
OBJECT-ORIENTED
APPLICATION DEVELOPMENT
 O-O analysis makes it easier to
translate an object model directly
into an object-oriented programming
language.
Characteristics of Object-Oriented
Application Development
 relationshipsbetween objects already exist
 objects contain both data and program logic,
called methods
 Properly implemented, object-oriented
development can speed up projects, reduce
costs, and improve overall quality.
Implementation of Object-
Oriented Designs
 When a programmer translates an object-oriented design into an
application, he or she analyzes the classes, attributes, methods,
and messages that are documented in the object model
 The programmer’s main objective is to translate object methods
into program code modules and determine what event or
message will trigger the execution of each module.
 The programmer analyzes sequence diagrams and state
transition diagrams that show the events and messages that
trigger changes to an object
Object-Oriented Cohesion
and Coupling
 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)
 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.

Das könnte Ihnen auch gefallen