acca 11(information systemsdevelopmentprocess)
DESCRIPTION
System development lifecycle The Waterfall Model The Spiral Model Systems development methodologies Software support for the systems development process User involvementTRANSCRIPT
1
Information Systems Development Process
Lecture 11
Abdisalam Issa-SalweFaculty of Professional Studies
Thames Valley University
Abdisalam Issa-Salwe, Thames Valley University2
Topic list
System development lifecycle The Waterfall Model The Spiral Model Systems development
methodologies Software support for the systems
development process User involvement
Abdisalam Issa-Salwe, Thames Valley University3
System development cycle
In early days of computing, systems were developed in fairly haphazard way resulting in poorly designed systems which were too expensive and were not suited to the user’s needs
In the 1960s, the National Computing Centre developed a more disciplined approach to systems development which was applicable almost everywhere
Abdisalam Issa-Salwe, Thames Valley University4
System development cycle (cont…)
This approach was called the Systems Development Lifecycle and contained the following stages:
Feasibility Study Systems Investigation Systems Analysis Systems Design Implementation Review and Maintenance
Abdisalam Issa-Salwe, Thames Valley University5
System development cycle (cont…)
System development life-cycle was developed to add discipline to many organisations’ approach to systems development.
Systems development lifecycle is the process of conceiving, designing and implementing an information system.
Abdisalam Issa-Salwe, Thames Valley University6
System development cycle (cont…)
The Systems Development Life Cycle (SDLC) is a framework for describing the phases involved in developing and maintaining information systems
Typical SDLC phases include planning, analysis, design, implementation, and support
Abdisalam Issa-Salwe, Thames Valley University7
Systems View
Systems approach emerged in 1950s more analytical approach to management &
problem solving Three parts:
Systems philosophy: View things as systems, interacting components working within an environment to fulfill some purpose
Systems analysis: problem-solving approach Systems management: Address business,
technological & organizational issues before making changes to systems
Abdisalam Issa-Salwe, Thames Valley University8
Drawbacks of the systems development
Insufficient emphasis on information needs
Sequential, inflexible approach Poor documentation Dissatisfied users Users’ requirements poorly defined
Abdisalam Issa-Salwe, Thames Valley University9
Drawbacks of the systems development (cont…)
As information systems grow in size and complexity, these problems may only get worse.
The best way to start approaching these problems is by studying them in more detail. Legacy Systems Increasing Systems Complexity Organisational Issues
Abdisalam Issa-Salwe, Thames Valley University10
The IS function has a poor reputation.
Despite huge investments in information technology: Systems development often takes more
time and resources than planned Information systems do not provide the
information needed or in the needed form
Information systems break down too often
Drawbacks of the systems development (cont…)
Abdisalam Issa-Salwe, Thames Valley University11
Drawbacks of the systems development (cont…)
Birrell and Ould [Birrell and Ould, 1985], describe the "b-Model“: The b-Model recognises that the
maintenance phase of the software life-cycle is seldom just fixing errors.
If a software product exists for any period of time, "maintenance" almost always involves enhancements.
After a while, the "maintenance phase" of a software product looks very much like the "development phase."
Abdisalam Issa-Salwe, Thames Valley University12
SSADM SSADM (Structured Systems Analysis
and Design)Originally designed for the UK Civil
Service.Data driven – concentration on the
data rather than processes. Highly structured with rules,
guidelines and standardsDocumentation is crucial to all
aspects of the system project development
Abdisalam Issa-Salwe, Thames Valley University13
SSADM states
Stage 0 – Feasibility Study Stage 1 – Investigation of Current
Environment Stage 2 - Business Systems Options Stage 3 – Definitions of requirements Stage 4 – Technical Systems Options Stage 5 – Logical Design Stage 6 – Physical Design
Abdisalam Issa-Salwe, Thames Valley University14
Computer-Aided Software Engineering Tools (CASE)
Software tools providing automated support for systems development
Project dictionary/workbook: system description and specifications
Diagramming tools Example products: Oracle Designer,
Rational Rose
Abdisalam Issa-Salwe, Thames Valley University15
CASE Tools (cont…)
Select - Select Visio 2000 – Microsoft Visible Analyst - Visible Systems ER/Studio - Embarcadero ERWin - Computer Associates Oracle Designer - Oracle Power Designer - Sybase
Abdisalam Issa-Salwe, Thames Valley University16
CASE Features
Diagrams Documentation Data Dictionary Team Coordination Prototyping Code Generation Reverse Engineering
Abdisalam Issa-Salwe, Thames Valley University17
CASE Types
Full development - integrated iCASE
Analysis & Design upper CASE
Implementation & Maintenance lower CASE
Abdisalam Issa-Salwe, Thames Valley University18
CASE Repository
Data dictionary - data element definitions and descriptions Ensures consistency
Repository is much more Database with linkages for all system
development products and activities Integration
Even across different CASE tools
Abdisalam Issa-Salwe, Thames Valley University19
System Development Methodologies
System Development Methodologies - Refer to tools and techniques used to complete tasks of various phases.We may use structured design
technique to design computer programs; the technique would be a methodology where as system design is a phase of the life cycle
Abdisalam Issa-Salwe, Thames Valley University20
System Development Methodologies (cont…)
A system development methodology is a guidelines to follow for completing every activity in the SDLC, including specific models, tools and techniques.
Some methodologies are very formal, and contain direct instruction. Everything is defined, including the view of documentation and content of reports.
Other methodologies are much more informal – just general description of what should be done.
Abdisalam Issa-Salwe, Thames Valley University21
System Development Methodologies (cont…)
Different types of system development methodologies are used in designing information system.
Depending upon the actual requirement of the system, different approaches for data processing are adopted. However, some system groups recommends the Centralised data processing system while others may go in for distributed data processing system.
Abdisalam Issa-Salwe, Thames Valley University22
Model
A model is a representation of some aspect of the real world. A model may be: physical (like a model of an airplane) or abstract (e.g. in form of mathematical notation
or in graphical form). Most models, used in system development, are
graphical (diagrams and charts). They include representations of inputs, outputs, processes, data, objects, object interactions, locations, networks, devices, or highlighting the tasks for the project
Abdisalam Issa-Salwe, Thames Valley University23
Tools A tool is a software support that helps
create models or other components required in the project. A list of tool types includes: Project management application Drawing/graphics application Word processor/text editor Computer-aided system engineering (CASE)
tools Integrated development environment (IDE) Database management application Reverse-engineering tool Code generator tool
Abdisalam Issa-Salwe, Thames Valley University24
Technique
A technique is a collection of guidelines that help the analyst complete a system development activity or task.
It might be step-by-step instructions or more general advices.
Abdisalam Issa-Salwe, Thames Valley University25
Technique (cont…) Strategic planning techniques Project management techniques User interviewing techniques Data-modeling techniques Relational database design techniques Structured analysis technique Structured programming technique Software-testing techniques (e.g. usability
testing) Object-oriented analysis and design
techniques
Abdisalam Issa-Salwe, Thames Valley University26
Abdisalam Issa-Salwe, Thames Valley University27
Computer Generation
First generation: machine language Second generation: assembly language Third generation: high-level
programming languages, such as C, C++, and Java.
Fourth Generation fifth generation: languages used for
artificial intelligence and neural networks.
Abdisalam Issa-Salwe, Thames Valley University28
Abdisalam Issa-Salwe, Thames Valley University29
Machine language (1GLs)
The lowest-level programming language (except for computers that utilise programmable microcode)
Machine languages are the only languages understood by computers.
While easily understood by computers, machine languages are almost impossible for humans to use because they consist entirely of numbers
Abdisalam Issa-Salwe, Thames Valley University30
Assembly language (2GLs) A programming language that is once
removed from a computer's machine language.
Machine languages consist entirely of numbers and are almost impossible for humans to read and write.
An assembly language contains the same instructions as a machine language, but the instructions and variables have names instead of being just numbers.
Abdisalam Issa-Salwe, Thames Valley University31
Fourth-Generation Languages (4GLs)
Often abbreviated 4GL, fourth-generation languages are programming languages closer to human languages than typical high-level programming languages. Most 4GLs are used to access databases. For example, a typical 4GL command is: FIND ALL RECORDS WHERE NAME IS
"SMITH"
Abdisalam Issa-Salwe, Thames Valley University32
5GLs
Fifth generation: languages used for artificial intelligence and neural networks.
the branch of computer science concerned with machine behave like humans. Example: Game playing Neutral network Robotics, Etc.
Abdisalam Issa-Salwe, Thames Valley University33
User involvement• User involvement focuses the
needs and wishes of users, i.e. crucial information that must be incorporated into the design process to ensure user acceptance.
• To begins by classifying the users of a product into several distinct user groups.
• Groups then examined using methods such as in-person interviews, group interviews.
Abdisalam Issa-Salwe, Thames Valley University34
User involvement
Walkthroughs: Walkthroughs investigate how a product is used in its actual usage environment and what are expectations and wishes of users concerning the product. In an unstructured walkthrough the user is allowed to freely demonstrate her way of using the product, while in a structured walkthrough the user is asked to perform specific tasks.