Upload
usep
View
762
Download
1
Tags:
Embed Size (px)
DESCRIPTION
MOdule 10 report
Citation preview
DIFFERENT APPROACHES TODIFFERENT APPROACHES TO
SYSTEMS BUILDINGSYSTEMS BUILDING
System LifecycleSystem Lifecycle The traditional systems lifecycle is a formal methodology for The traditional systems lifecycle is a formal methodology for
managing the development of systems and is still the principal managing the development of systems and is still the principal methodology for medium and large projects.methodology for medium and large projects.
It is the process by which an existing system is replaced with It is the process by which an existing system is replaced with another.another.
Why a new System?Why a new System?
The current may no longer suitable to its purposes.The current may no longer suitable to its purposes.
Technological developments may have made the current Technological developments may have made the current system redundant or outdated.system redundant or outdated.
The current system may be too inflexible or expensive to The current system may be too inflexible or expensive to maintain.maintain.
System LifecycleSystem Lifecycle The SYSTEMS LIFE CYCLE is a term used to describe The SYSTEMS LIFE CYCLE is a term used to describe
the stages in an IT project. These are: the stages in an IT project. These are:
Definition of the problem Definition of the problem Feasibility StudyFeasibility Study Investigation and AnalysisInvestigation and Analysis DesignDesign Development (programming) Development (programming) TestingTesting ImplementationImplementation Evaluation Evaluation MaintenanceMaintenance
System LifecycleSystem Lifecycle
System LifecycleSystem Lifecycle
Definition of the ProblemDefinition of the Problem Some formal effort is made to define exactly Some formal effort is made to define exactly
what is the problem. what is the problem.
Methods of Defining a ProblemMethods of Defining a Problem Interview employees about their issues with the current system.Interview employees about their issues with the current system. Analyzing the total costs of the current system.Analyzing the total costs of the current system. Key external factors that may point towards developing a new Key external factors that may point towards developing a new
system.system. Performance of the existing system.Performance of the existing system.
System LifecycleSystem Lifecycle Feasibility Study PhaseFeasibility Study Phase
In this phase, alternative solutions are examined. The costs benefits In this phase, alternative solutions are examined. The costs benefits are compared in order to see which would best suit the company taking are compared in order to see which would best suit the company taking into consideration their requirements and the funds available. In order into consideration their requirements and the funds available. In order to arrive at a final decision, sometimes a trade-off has to be accepted to arrive at a final decision, sometimes a trade-off has to be accepted e.g. less functionality for less cash. e.g. less functionality for less cash.
Investigation and AnalysisInvestigation and Analysis
The investigation part confirms that the true cause of the problem has been correctly defined.
The next part is to carefully analyze how the existing system works: Not necessarily the hardware or software - but more about how information is handled and how people interact with it.
System LifecycleSystem Lifecycle
Design PhaseDesign Phase
The data inputs and outputs.The data inputs and outputs. Screen layouts.Screen layouts. Any documents that are printed out.Any documents that are printed out. What happens to the data as it flows through the What happens to the data as it flows through the
system (procedures).system (procedures). The operating system to be used.The operating system to be used. The hardware to be used.The hardware to be used.
System LifecycleSystem Lifecycle Development (Programming)Development (Programming)
The development stage is about taking the design forward and putting The development stage is about taking the design forward and putting it into practice.it into practice.
At this stage the following things may take place(depending on the At this stage the following things may take place(depending on the how extensive the project is) :how extensive the project is) :
The software developers write codeThe software developers write code.. The hardware people develop equipment.The hardware people develop equipment. The testing team develop test plans.The testing team develop test plans. The user-testing groups follow the test plans and check that the The user-testing groups follow the test plans and check that the
system works as expected. If not an error report is sent to the system works as expected. If not an error report is sent to the developers and corrections are made. The test is then performed developers and corrections are made. The test is then performed again. again.
System LifecycleSystem Lifecycle ImplementationImplementation
The system has been developed and tested. It is The system has been developed and tested. It is working correctly and doing everything that was working correctly and doing everything that was agreed during the design stage. agreed during the design stage.
The key events in this stage are:The key events in this stage are: Data ConversionData Conversion
Data stored in files on the old system are now Data stored in files on the old system are now converted into the correct format for the new converted into the correct format for the new system. system.
System-Change OverSystem-Change OverSwitch off the old system and turn on the new. Switch off the old system and turn on the new.
System LifecycleSystem Lifecycle EvaluationEvaluation
In this stage, two key questions are considered:In this stage, two key questions are considered: Does the finished solution meet its requirements? Does the finished solution meet its requirements? Does it solve the problem? Does it solve the problem?
MaintenanceMaintenance
At this stage the following takes place: At this stage the following takes place: Problems are cleared as they arise.Problems are cleared as they arise. Data is backed up and kept safe.Data is backed up and kept safe. Printers, Monitors and other equipment are replaced as Printers, Monitors and other equipment are replaced as
required.required.
• Prototyping
•Application Software Packages
•End-user Development
•Outsourcing
Prototyping
process of building experimental system to demonstrate, evaluate approach.
an iterative process
best for design of end-user interface
Steps in Prototyping:
Prototyping
1.Identify User’s Requirements
3. Use Prototype
2. Develop Prototype
4. Revise & Enhance Prototype
Application Software Packages
prewritten, precoded application software, commercially available for sale/lease
customization
geared to common requirements
Modifying Software Package to meet organization’s unique requirements without destroying the integrity of package
Application Software Packages
Customization
Raises Development Cost
0
2
4
6
8
10
0.5 1 2 3 4 5
% LINES OF CODE CONVERTED% LINES OF CODE CONVERTED
TO
TA
L I
MP
LEM
EN
TA
TIO
N
TO
TA
L I
MP
LEM
EN
TA
TIO
N
CO
STS
CO
STS
Effects of Customizing Software on Total
Implementation Costs
Application Software Packages
DESCRIPTION (PRESENT, PROPOSED)RELIABILITYBACKUPSERVICESSYSTEM SPECIFICATIONSCRITERIADEMONSTRATION (PROTOTYPE)SCHEDULE (BENCH MARKS)PRICE (PENALTIES)SPECIFIC QUESTIONSPROCEDURES FOR RESPONSE
Request For Proposal (RFP)
Application Software Packages
End-User Development
end-users develop information system with little help from technical specialists using 4th generation tools
End-User Development
• Improved requirements determination
• Increased user involvement and satisfaction
• Reduced Application backlog
Weaknesses
Strengths
• Relatively inefficient
• Slow transaction processing
• Large files can degrade performance
• Nonprocedural approach may hamper logic & updating requirements
Information Center
Special facility within organization
Provides training, support for end-user-computing
End-User Development
Managing End-User Development
““OutsourcinOutsourcing”g”
OutsourcingOutsourcing
is the process of turning over an is the process of turning over an organization’s computer center organization’s computer center operations, telecommunications operations, telecommunications networks, or applications development networks, or applications development to external vendors who provide these to external vendors who provide these service.service.
When to Outsource?When to Outsource?
To reduce costs or offload some of the To reduce costs or offload some of the work of the information systems work of the information systems departmentdepartment
When the firm’s existing information When the firm’s existing information system capabilities are limited system capabilities are limited
To improve the contribution of To improve the contribution of information technology to business information technology to business performance performance
System Building System Building MethodologiesMethodologies
Structured MethodologiesStructured Methodologies
is used to structure, plan, and control is used to structure, plan, and control the process of developing an the process of developing an information system information system
Structured AnalysisStructured Analysis
is a set of techniques and graphical tools is a set of techniques and graphical tools used by the analyst for applying a used by the analyst for applying a systematic approach to systems analysis systematic approach to systems analysis
Data flow diagramData flow diagram- graphical display of component - graphical display of component
processes, flow of dataprocesses, flow of data
Data dictionaryData dictionary- controlled definitions of - controlled definitions of
descriptions of all data, such as variable descriptions of all data, such as variable names & types of datanames & types of data
Structured DesignStructured Design
Design rules / techniques to design systemDesign rules / techniques to design system
– Discipline to organize, code programsDiscipline to organize, code programs– Simplifies control paths Simplifies control paths – Easy to understand, modifyEasy to understand, modify– Module has one input, one outputModule has one input, one output
Structured ProgrammingStructured Programming
PROGRAM FLOWCHART PROGRAM FLOWCHART SYMBOLS:SYMBOLS:
BEGIN OREND
DIRECTION
PROCESS
DECISION
INPUT OROUTPUT
SUBROUTINE
MANUALOPERATION
CONNECTOR
PROGRAM FLOWCHART:PROGRAM FLOWCHART:PROCESS A
PROCESS B
SEQUENCSEQUENCEE
PROCESS CPROCESS D
R
TRUE
SELECTIOSELECTIONN
PROCESS E
S
TRUE
ITERATIONITERATION
This flowchart shows the software development cycle. You basically design the system, code it and test it. When an error is found, it must be determined whether the error is a design error or not. Coding errors can quickly be fixed, but design errors may take longer.
OBJECT – ORIENTED SOFTWARE OBJECT – ORIENTED SOFTWARE DEVELOPMENTDEVELOPMENT
IncludesIncludes OOA (OOA (Object Oriented AnalysisObject Oriented Analysis)) OOD (OOD (Object Oriented DesignObject Oriented Design))
OBJECT – ORIENTED SOFTWARE OBJECT – ORIENTED SOFTWARE DEVELOPMENTDEVELOPMENT
Practical method of developing a Practical method of developing a software system which focuses on the software system which focuses on the objects of a problem throughout objects of a problem throughout development. development.
COMPUTER-AIDED SOFTWARE COMPUTER-AIDED SOFTWARE DEVELOPMENTDEVELOPMENT
meant to result in HIGH-QUALITY, DEFECT FREE, meant to result in HIGH-QUALITY, DEFECT FREE, and maintainable software products.and maintainable software products.
together with automated tools that can be used in together with automated tools that can be used in the software development process.the software development process.
TOOLS:TOOLS:
Configuration Management ToolsConfiguration Management Tools
Data Modeling ToolsData Modeling Tools
Model Transformation ToolsModel Transformation Tools
Program Transformation ToolsProgram Transformation Tools
Refactoring ToolsRefactoring Tools
Source Code Generation ToolsSource Code Generation Tools
Unified Modeling ToolsUnified Modeling Tools
COMPUTER-AIDED SOFTWARE COMPUTER-AIDED SOFTWARE DEVELOPMENTDEVELOPMENT
SOFTWARE REENGINEERINGSOFTWARE REENGINEERING
A practical solution for the problem of evolving A practical solution for the problem of evolving existing computing systems.existing computing systems.
Reverse EngineeringReverse Engineering
--often involves taking something apart and analyzing its often involves taking something apart and analyzing its workings in detail to be used in maintenance.workings in detail to be used in maintenance.
Forward EngineeringForward Engineering
--it starts with the initial conditions and designing a solution it starts with the initial conditions and designing a solution that produces the desired results.that produces the desired results.
SOFTWARE REENGINEERINGSOFTWARE REENGINEERING
-“The examination and alteration of the system to -“The examination and alteration of the system to reconstitute it in a new form.”reconstitute it in a new form.”
-To enable developers to construct systems that operate -To enable developers to construct systems that operate reliably despite this complexity.reliably despite this complexity.
=) =)