SAD-101-Study-Guide - Module 3
SAD-101-Study-Guide - Module 3
0 10-July-2020
MODULE OVERVIEW
This module aims to enable you to understand concepts of Developing Information System. Case studies
were included in every section in order to test your understanding of the lesson.
LEARNING OBJECTIVES
INTRODUCTION
This module more closely examines the systems development process that was first introduced in the previous
module. Successful systems development is governed by some fundamental, underlying principles that we introduce in
this module. We also introduce a basic, representative systems development methodology as a disciplined approach to
developing information systems. Although such an approach will not guarantee success, it will greatly improve the
chances of success. You will know that you understand information systems development when you can: This module
introduces a focus on information systems development
Capability Maturity Model (CMM) – a standardized framework for assessing the maturity level of an
organization’s information system development and management processes and products. It consists of five levels of
maturity:
•Level 1 - Initial: System development projects follow no prescribed process.
•Level 2 - Repeatable: Project management processes and practices established to track project costs,
schedules, and functionality.
•Level 3 - Defined: Standard system development process (methodology) is purchased or developed. All
projects use a version of this process.
•Level 4 - Managed: Measurable goals for quality and productivity are established.
•Level 5 - Optimizing: The standardized system development process is continuously monitored and improved
based on measures and data analysis established in Level 4.
Creeping commitment – a strategy in which feasibility and risks are continuously reevaluated throughout a
project. Project budgets and deadlines are adjusted accordingly.
Risk management – the process of identifying, evaluating, and controlling what might go wrong in a project
before it becomes a threat to the successful completion of the project or implementation of the information
system. Risk management is drive by risk analysis or assessment.
•Problem – an undesirable situation that prevents the organization from fully achieving its purpose, goals,
and/or objectives.
•Opportunity – a chance to improve the organization even in the absence of an identified problem.
•Directive - a new requirement that is imposed by management, government, or some external influence.
•Planned Projects
•An information systems strategy plan has examined the business as a whole to identify those system
development projects that will return the greatest strategic (long-term) value to the business
•A business process redesign has thoroughly analyzed a series of business processes to eliminate
redundancy and bureaucracy and to improve efficiency and value added. Not it is time to redesign the
supporting information system for those redesigned business processes.
•Unplanned projects
•Triggered by a specific problem, opportunity, or directive that occurs in the course of doing business.
•Steering committee – an administrative body of system owners and information technology executives that
prioritizes and approves candidate system development projects.
•Backlog – a repository of project proposals that cannot be funded or staffed because they are a lower priority
than those that have been approved for system development.
Project Phases
•FAST - (Framework for the Application of Systems Thinking ) a hypothetical methodology used throughout
this book to demonstrate a representative systems development process.
•Each methodology will use different project phases.
Logical design – the translation of business user requirements into a system model that depicts only the
business requirements and not any possible technical design or implementation of those requirements.
Common synonyms include conceptual design and essential design.
System model – a picture of a system that represents reality or a desired reality. System models facilitate
improved communication between system users, system analysts, system designers, and system builders.
Analysis paralysis – a satirical term coined to describe a common project condition in which excessive system
modeling dramatically slows progress toward implementation of the intended system solution.
•Design by prototyping – Incomplete but functioning applications or subsystems (called prototypes) are
constructed and refined based on feedback from users and other designers.
•Fact-finding - formal process of using research, interviews, meetings, questionnaires, sampling, and other
techniques to collect information about system problems, requirements, and preferences.
•Documentation and presentation
•Documentation – recording facts and specifications for a system for current and future reference.
•Presentation – communicating findings, recommendations, and documentation for review by
interested users and mangers.
•Repository – database and/or file directory where system developers store all documentation,
knowledge, and artifacts for information systems or project(s).
•Feasibility analysis
•Process and project management
Waterfall development approach an approach to systems analysis and design that completes each phase one after
another and only once.
Iterative development approach an approach to systems analysis and design that completes the entire information
system in successive iterations. Each iterations does some analysis, some design, and some construction. Synonyms
Model-driven development – a system development strategy that emphasizes the drawing of system models to help
visualize and analyze problems, define business requirements, and design information systems.
•Process modeling – a process-centered technique popularized by the structured analysis and design
methodology that used models of business process requirements to derive effective software designs for a
system.
•Data modeling – a data-centered technique used to model business data requirements and design database
systems that fulfill those requirements.
•Object modeling – a technique that attempts to merge the data and process concerns into singular constructs
called objects. Object models are diagrams that document a system in terms of its objects and their
interactions.
Disadvantages:
•Time consuming
•Models only as good as users' understanding of requirements
•Reduces users' role because pictures are not software
•Can be Inflexible
Disadvantages
•May encourage "code, implement, repair" mentality
•Can solve wrong problem since problem analysis is abbreviated
•May discourage analysts from considering alternatives
•Stakeholders reluctant to throw away prototype
•Emphasis on speed can adversely impact quality
•Commercial application package – software application that can be purchased and customized to meet business
requirements of a large number of organizations or specific industry. A synonym is commercial off-the-shelf (COTS)
system.
•Request for proposal (RFP) – formal document that communicates business, technical, and support
requirements for application software package to vendors that may wish to compete for the sale of application
package and services.
•Request for quotation (RFQ) – formal document that communicates business, technical, and support
requirements for an application software package to a single vendor that has been determined as being able to
supply that application package and services.
•Gap analysis – comparison of business and technical requirements for a commercial application package
against capabilities and features of a specific commercial application package to define requirements that
cannot be met.
Advantages
•Systems usually implemented more quickly
•Avoids staffing required to develop in-house solutions
•Generally less expensive
•Vendor assumes responsibility for improvements and corrections
•Many business functions more similar than dissimilar for all businesses in a given industry
Disadvantages
Hybrid Strategies
The PAST routes are not mutually exclusive. Any given project may elect to or be required to use a
combination of, or variation of, more than one route. The route to be used is always selected during the scope definition
phase and is negotiated as part of the statemement of work. One strategy that is commonly applied to both model-
driven and rapid application development routes is an Incremental strategy. Figure below illustrates one possible
implementation of an Incremental strategy in combination with rapid application development. The project delivers the
Information system into operation in four stages. Each stage implements a version of the final system using a RAD
route. Other variations on routes are possible.
SYSTEM MAINTENANCE
System maintenance is intended to guide projects through the operation and support stage of their life cycle
which could last decades! The below illustrated the places system maintenance into perspective, System maintenance
in PAST is not really a unique route. As illustrated in the figure, It is merely a smaller-scale version of the same PAST
process (or route) that was used to originally develop the system. The figure demonstrates that the starting point for
system maintenance depends on the problem to be solved. We call your attention to the following numbered bullets In
the figure:
1 Maintenance and reengineering projects are triggered by some combination of user and technical feedback. Sud,
feedback may identify new problems, opportunities, or directives,
2 The maintenance project is initiated by a SYSTEM CHANGE REQUEST that indicates the problems, opportunities, or
directives.
3 The simplest fixes are SOFTWARE BUGS errors). Such a project typically Jumps right into a reconstruction AND
testing phase and Is solved relatively quickly.
Sometimes a DESIGN FLAW In the system becomes apparent after Implementation. For example, users may
frequently make the same mistake due to a confusing screen design. For this type of maintenance project, the Physical
design and Integration phase would need to be revisited, followed of course by the construction and delivery phases,
Today, entire suites of automated tools have been developed, marketed, and installed to assist systems
developers. While system development methodologies do not always require automated tools, most methodologies do
benefit from such technology. Some of the most commonly cited benefits include:
Improved productivity-through automation of tasks.
Improved quality-because automated tools check for completeness, consistency, and contradictions.
Better and more consistent documentation-because the tools make it easier to create and assemble
consistent high-quality documentation.
Reduced lifetime maintenance-because of the aforementioned system quality improvements combined with
better documentation,
Methodologies that really work-through rule enforcement and built-in expertise.
Computer-aided systems engineering (CASE) –automated software tools that support the drawing and analysis of
system models and associated specifications. Some CASE tools also provide prototyping and code generation
capabilities.
CASE repository – system developers’ database where developers can store system models, detailed
descriptions and specifications, and other products of system development. Synonyms: dictionary and
encyclopedia.
CASE Facilities .To use the repository, the CASE tools provide some combination of the following facilities.
o Diagramming tools are used to draw the system models required or recommended lo most system
development methodologies. Usually, the shapes on one system model can be linked to otl1er
system models and to detailed descriptions (see next item below).
o Dictionary tools are used to record, delete, edit, and output detailed documentation and
specifications. The descriptions can be associated wltl1 shapes appearing on system models that
were drawn with the diagramming tools.
o Design tools can be used to develop mock-ups of system components such as inputs and outputs.
These inputs and outputs can be associated with both the aforementioned system models and the
descriptions.
o Quality management tools analyze system models, descriptions and specifications, and designs for
completeness, consistency, and conformance to accepted rules of the methodologies.
o Documentation tools are used to assemble, organize, and report on system models, descriptions and
specifications, and prototypes that can be reviewed by system owners, users, designers, and
builders.
o Design and code generator tools automatically generate database design and application programs
or significant portions of those programs.
o Testing tools simulate transactions and data traffic, measure performance, and provide configuration
management of test plans and test scripts.
Forward engineering – CASE tool capability that can generate initial software or database code directly
from system.
Reverse engineering – CASE tool capability that can generate initial system models from software or
database code.
Application development environments (ADEs) – an integrated software development tool that provides all the facilities
necessary to develop new application software with maximum speed and quality. A common synonym is an integrated
development environment (IDE)
Programming languages or Interpreters are the heart of an ADE. Powerful debugging features and
assistance are usually provided to help programmers quickly identify and solve programming
problems.
Interface construction tools help programmers quickly build the user interfaces using a component
library.
Middleware is software that helps programmers Integrate the software being developed with various
databases and computer networks,
Testing tools are used to build and execute test scripts that can consistently and thoroughly test
software.
Version control tools help multiple programmer teams manage multiple versions of a program, both
during development and after implementation, Help authoring tools are used to write online help
systems, user manuals, and online training
Repository links permit the ADE to Integrate with CASE tool products as well as other ADEs and
development tools,
•Process manager application – an automated tool that helps document and manage a methodology and
routes, its deliverables, and quality management standards. An emerging synonym is methodware.
•Project manager application – an automated tool to help plan system development activities (preferably using
the approved methodology), estimate and assign resources (including people and costs), schedule activities
and resources, monitor progress against schedule and budget, control and modify schedule and resources,
and report project progress.
LEARNING ACTIVITIES
2. List the Five maturity levels, and briefly describe each of them.
3. What is the essential purpose of the design phase? How does it accomplish this? How are technological
solutions incorporated in this phase? What are some common synonyms for this phase used by other
methodologies? Who are the typical participants in this phase? What is agile modeling and what is its
purpose? What are the deliverables coming out of this phase? In terms of the development team, what critical
transition takes place by the end of this phase?
4. The requirements analysis phase is an essential pan of a system development methodology. According to the
FAST methodology, which stakeholders typically participate in this phase? What is the primary focus of
requirements analysis? What is not the focus? How should the proposed requirement be evaluated? What
critical error must be avoided?
1. Hold team meetings using different communications mediums. Examples: phone, e-mail, virtual environment.
What did you notice about the impact of the technology on the meeting? Was the productivity of the meetings
the same for each medium? How did the team feel about the impact of the technologies on the team
relationships?
Encode your final answers in MS Word and submit on or before the given deadline. Your answer for each question
should be a maximum of 10 sentences only. Check grammar, spelling errors before submitting. Place your name, year
level and section at the beginning of the page.
SUMMARY
A systems development process is a set of activities, methods, best practices, deliverables, and automated tools
that stakeholders use to develop and continuously improve information systems and software.
The capability Maturity Model (CMM) is a framework for assessing the maturity level of an organization's
information systems development and management processes and products. It defines the need for a system
development process.
A system life cycle divides the life of an information system into two stages, systems development and systems
operation and maintenance.
A systems development methodology is a process for the system development stage, It defines a set of
activities, methods, best practices, deliverables, and automated tools that systems developers and project managers
are to use to develop and maintain information systems and software.
The following principles should underlie all systems development methodologies:
Get the system users involved.
Use a problem-solving approach.
Establish phases and activities.
Document throughout development.
Establish standards.
Manage the proce55 and projects.
Justify Information systems as capital investments.
Don't be afraid to cancel or revise scope.
Divide and conquer.
Design systems for growth and change.
REFERENCE
1. Bentley, Lonnie D., Whitten, Jeffrey L., 2007. System Analysis & Design Methods 7th edition, McGraw-
Hill Education.