vuoi
o PayPal
tutte le volte che vuoi
Chapter 10. Developing Information Systems TIME, COST QUALITY
Every software development projects faces a tension among and and they imply a tradeoff among
the three elements. Usually it is true the saying “You want it fast, good and cheap? Pick any two”.
Developing a software is a complex, time-consuming and costly endeavor and so it is crucial to use a framework
DEVELOPMENT METHODOLOGY)
(SOFTWARE to plan, structure and control the software development project. The
framework can be unique for the entire organization otherwise can be different depending on the projects.
SYSTEM DEVELOPMENT LIFE CYCLE (SDLC)
The traditional approach is the that provides a disciplined approach to system
development. This kind of approach is a waterfall method since the result of one phase flow as inputs into the next phase.
Sometimes you need to go back and refine an earlier phase based on new information that emerges. The steps are:
PLANNING PHASE
- = define the overall goal and scope of the new system and determine the feasibility on the
project. There are different aspects of feasibility as technical, economic (system affordable and worth),
organizational, legal and ethical.
REQUIREMENTS PHASE
- = uncover and document the functions that the system should provide and desired levels
of performance (figure out and document what the system should do). There are two kinds of requirements:
FUNCTIONAL NONFUNCTIONAL
(how the system should interact with users and other systems) and (the
REQUIREMENTS ELICITATION
constraints of the system). The main task of this phase is the that is to gather
requirements from the stakeholders and they can change during the process. .
The output is a specification of F and NF req
DESIGN PHASE
- = describe in detail how the system will meet the requirements specified earlier and specify the
plans for implementing and testing the system. The final output will be a document describing the system
requirements, operating environment, database design, user interface and processing logic.
DEVELOPMENT PHASE
- = the system is actually constructed so the software is written, database are created and
the hardware is installed. The new system has to be also integrated with the old one. In this phase also the
testing happens to check and fix eventual errors. The outcome will be the software, data and files for testing.
IMPLEMENTATION PHASE
- = make the system operational in the production environment. Support because of the
new system, implementation schedule and recommendation for future improvements are all tasks of this phase.
The outcome of this step is the system itself, installed and running correctly. To change from an existing system
DIRECT CHANGEOVER
to a new one there are different methods like: (old system no longer used and
PARALLEL OPERATION
immediately replaced // low time, high risk), (both new and old operate together // low
PHASED IMPLEMENTATION PILOT
risk, high cost and time), (new system is implemented in stages) and
OPERATION (new system is implemented in a business unit or location and then in the entire organization).
MAINTAINANCE PHASE
- = longest and most costly phase that ensures the system to operate correctly. This phase
involves fixing any problems and modifying or adding to the programs to meet new needs.
Alternative methodologies to approach the development of a new system are:
PROTOTYPING
- = it is an iterative process that begins with an investigation of the main requirements of the
system. Following, a prototype (a rough version of the system) is made and reviewed by the stakeholders. If the
system shows problems, a new prototype is made fixing the flaws otherwise the prototype is implemented fully.
It has advantages as more stakeholders’ involvement and more effective for uncovering system requirements
but it has drawbacks like poorly designed systems when scaled up, difficult to estimate time and so costs.