Upload
lorena-skinner
View
221
Download
0
Tags:
Embed Size (px)
Citation preview
IT Systems in Organisations (HL)By Mohammad Ezmir
This chapter examines the steps involved in analysing, designing,
developing, using, and supporting IT systems effectively in organisations
(Gray, 2012, pg. 310)
Off-the-shelf softwareSoftware that is widely available for general purchase from software vendors such as office software suites.Custom/bespoke softwareCreated specifically for a single organisation. Usually the organisation hires a software development company to analyse the organisation’s needs and design software specifically to meet them.
(Gray, 2012, pg. 310)
Types of development software
Off-the-shelf softwareAdvantages:• Cheaper• Easier to install and use• Compatible with other systems• More online support• FAQs• Less bugsDisadvantages:• Might not be specific to needs• Pay for services you do not need• Hard to change or add new features
(Gray, 2012, pg. 311)
Custom/bespoke software
Advantages:• Specific to the organisation’s needs• Customisable on request• Competitive advantageDisadvantages:• Finding a good software developer• Expensive• Development can take a long time• Prone to errors• Over dependency on software developer• Source code needed for help and support
(Gray, 2012, pg. 311)
Integrated Development Environment (IDE)
• A text editor is used to enter the program's source code
• A compiler translates the source code into machine code
• Debugging tools help find and fix errors in the program
(Gray, 2012, pg. 310)
Legacy systemsA legacy system is a computer system that is no longer available for purchase or is no longer supported by the manufacturer. Some legacy systems may operate on very old hardware which is no longer available. Others may only run on older operating systems and not be compatible with modern versions. This usually means updates and security fixes will not be available for the system, which can be a significant problem for organisations.
(Gray, 2012, pg. 310)
Why do organisations use legacy systems?
• Essential to their operation and there is no easily available replacement
• Replacing a legacy system with a new one may be cost prohibitive
• Extremely difficult to convert data into a new format• Lack of knowledge of the system; documentations
absent• Old programming languageDrawback:• Require personnel with rare skills to support them, and
these people are often more expensive to hire(Gray, 2012, pg. 310)
Solution to using legacy systems:Emulation and Virtual Machines• Virtual machines creates a virtual ‘computer’
running inside a window, like a regular application program.
• Virtual machines are useful for running legacy applications that need older operating systems ( for example, an application program requiring Windows 3.1 could run in a virtual machine running Windows 3.1 on a host running Windows 7 or Linux)
• An emulator is a software recreation of an entire system’s hardware including its processor and associated hardware.
(Gray, 2012, pg. 312)
System development lifecycle
The System Development Life-cycle (SDLC) refers to the stages involved in creating an IT system - from the moment it is first suggested, to its delivery to the customer, and – critically – as it is maintained through the rest of its life.
(Gray, 2012, pg. 313)
System development life cycle (SDLC)
ImplementationDesign
Maintenance
TestingAnalysis
Installation
(Gray, 2012, pg. 313)
Project Development Roles• Project manager: Responsible for the overall
progress of a project, ensuring it stays on time, in budget, and meets the client’s needs
• Analyst: Document the current system, finding its problems and areas for improvement
• Development manager: Oversees programmers as they create the system specified in the design
• Information system manager: Responsible for all IT purchases, deployments, and systems within an organisation
• Support staff: Train users and help them with problems as they occur
• Database administrator and Network manager: Perform similar jobs in their specific areas
Analysis StageAn investigation of the current system, the needs of the client, and the possibility of creating a solution. After this stage it may be decided to progress with creating a new system, or that the benefits do not justify the costs.
(Gray, 2012, pg. 313)
Data collection
Questionnaires• Set questions for evaluation• May not be accurate answersFace to face interviews• Allow questions to be added or changed in
response to user’s answers• Time consumingObservation• Realistic overview of the current system
Requirement specification
Technical document which describes the needs of an organisation as well as the project goals and scope
• Functional requirements: Input, Output and Processing requirements
• Non-functional requirements: Constraints
Business CaseJustifying in terms of time and cost to design, develop, and implement, versus the predicted benefits it will bring
Feasible in terms of the skills, equipment, time and money available
Gantt chart
Provide a high level overview of a project schedule, including each individual task, the people responsible for overseeing them, and task starting and finishing times.PERT (Program Evaluation and Review Technique)Represent scheduling information graphically, and clearly show the relationships and dependencies between each task in the schedule.A process called Critical Path (CP) is used to determine the longest (slowest) route from the beginning of the project to the end, since this will determine the minimum time required for the project
Key components of Analysis Stage:• Project goals• Scope Data collection (limitations)• Requirements specification• Identification of solutions• Business case• Feasibility study• Justification of solution • SWOT (Strengths, Weaknesses, Opportunities, Threats)• Project plan• Project management methodology• Project schedule• Project milestones
(Gray, 2012, pg. 323)
Design StageThe planning of a solution to meet the needs of the client which were identified in the analysis.
The design stage needs to cover, in technical detail, the inputs, processes, data structures, and outputs required by the system, and the relationship between these items
(Gray, 2012, pg. 313)
Data Flow Diagrams
Shows the relationship between the data storage, inputs, outputs and processes in a system, with the data flows between them.
System context diagram• Shows a relatively high level view of the system,
with only its relationships to external stakeholders and systems.
• Useful because they clearly show the boundaries of the system and the data that flows in and out.
School Gradin
g Syste
m
Teachers
Year Heads
Distribute Reports
Student grades
Concern list
Student reports
Entity Relationship Diagram
Shows the groups of data stored, the attributes each entity has, and the relationships between the various data items
Key components of Design Stage:
• Inputs• Outputs• Data structures• Processes• System context diagram• Data Flow Diagrams• Entity Relationship Diagrams• User interface design
(Gray, 2012, pg. 323)
Development Stage (Implementation)The creation (programming) of a system, following the design previously created.
(Gray, 2012, pg. 313)
Alpha testingTesting is performed internally rather than by customersPrototypeEarly version of a user interface to get feedback about its effectivenessQuality control processesEnsure that the code produced by the programmers is of high quality and meets the needs of the clientQuality assurance methodsEnsure the development team are following standardised practices which are suitable for the project under development
Types of documentation
Technical documentationTargeted at system administrators and other developers who may expand or change the system in the future.
User documentationExplains how to use a new system, covering how to install and start the system, and how to perform common tasks. User manuals, written or video tutorials, online lessons, and FAQ pages are all forms of user documentation
Key components of Implementation Stage:
• Development• Alpha testing• Prototyping• Quality control• Quality assurance• User documentation• Technical documentation
(Gray, 2012, pg. 323)
Testing StageEnsuring that the system functions correctly, as determined by the requirements generated during the analysis stage
(Gray, 2012, pg. 313)
Bug tracking systemKeep a list of all software bugs in a central location, and allows them to be prioritised and annotated
User acceptance testingInvolves the user checking the system to ensure it meets their requirements
Key components of Testing Stage:
• Beta testing• User acceptance testing• Handover
(Gray, 2012, pg. 323)
Installation Stage (Delivery)Installing the software and any necessary hardware, usually at the client’s organisation. This may also involve removing the old system and transferring any required data from it to the new system. Training is also required to help users understand the new system.
(Gray, 2012, pg. 313)
Types of changeoverDirect changeoverThe old system is removed and all users start to use the new system immediatelyPhased changeoverSwitches gradually from the old system to a new system, with some parts of the organisation switching before othersParallel changeoverInvolves introducing the new system but running it concurrently with the old system
Type of changeover
Advantage Disadvantage
Direct changeover Fast and cost-effective If anything goes wrong with the new system, there is no possibility of falling back to the old system, and the organisation may lose business or even have to close until the new system can be fixed.
Phased changeover
At least part of the business can still function even if the new system fails totally.
Running two systems can be complex, especially if there is a lot of interaction between departments who have changed and those who have not.
Parallel changeover
Output of the new system can be verified against the old system and, should anything fall back to the old system, safe in the knowledge that it is up to date with the latest data and transactions
Time consuming method because actions must be carried out twice.
Key components of Installation Stage:
• Installation • Training • Changeover
(Gray, 2012, pg. 323)
Maintenance StageUpdates and changes made to a system to fix bugs, improve performance, or add new features. In large systems which are used for many years, maintenance can form a large part of the project’s total costs.
(Gray, 2012, pg. 313)
Types of maintenance• Adaptive maintenance: updating it to work with
new hardware or software• Perfective maintenance: adding new features as
required by the changing requirements of the organisation
• Corrective maintenance: fixing bugs which were not found during testing
• Preventative maintenance: Updating the software to prevent foreseeable problems
Regression testing is the process of repeating old tests to ensure they still work after alterations are made
Key components of Maintenance Stage:
• Maintenance• Regression testing• Support• Incident tracking • Phase out
(Gray, 2012, pg. 323)
Development Approach
Waterfall model flows from the analysis through each stage to the installation, one stage at a time.
Analysis
Implementation
Design
Maintenance
TestingInstallati
on
(Gray, 2012, pg. 324)
Advantages of waterfall model:• Highly structured• Allows long term planning• Problems in the analysis stage are found quickly
Disadvantage of waterfall model:Lacks adaptability: large IT projects may take such a long time to develop that by the time the development stage has been reached, the requirements identified in the analysis stage may have changed.
(Gray, 2012, pg. 324)
Agile development model seeks to address some of the waterfall model’s weaknesses by allowing greater adaptability. The same SDLC stages are encountered using agile development, but they are applied to only a small part of the problem at a time.
Advantage:• Working code produced much more rapidly, client can
decide whether the software is meeting their needs at every step.
• Easier to make changesDisadvantage:• Lack of initial goal and design for the whole project
can result in a less efficient design• Extending and maintaining the project is more
difficult(Gray, 2012, pg. 324)
Agile development model
Analysis
Design
Implementation
Acceptance Testing
1-4 weeks 1-4 weeks1-4 weeks
Implementation
Design
Analysis
Acceptance Testing
Implementation
Design
Analysis
Acceptance Testing
One feature or requirement
Another…Another feature or requirement
(Gray, 2012, pg. 325)
Project Management MethodologiesAim to describe the best approaches for managing the steps in system development, moving between them, or recording successes and failures to enable future improvement.
(Gray, 2012, pg. 325)
SSADM• Stands for Structured Systems Analysis and
Design Method• Focuses primarily on the Analysis and Design
stages of the SDLC7 stages:• Stage 0: Feasibility study• Stage 1: Investigation of the current environment• Stage 2: Business system options• Stage 3: Requirements Specification• Stage 4: Technical system options• Stage 5: Logical design• Stage 6: Physical design
(Gray, 2012, pg. 325)
PMBoK• Stands for Project Management Body of
Knowledge• Not specific to software development projects• Divides the project life cycle into five stages,
called process groups• The results of each process group are fed into the
next as an input• The work in each process group is divided into
nine Knowledge Areas:Integration Management, Scope Management, Time Management, Cost Management, Quality Management, Human Resource Management, Communication Management, Risk Management and Procurement Management.
(Gray, 2012, pg. 325)
PRINCE2• Stands for PRojects IN Controlled Environments 2• The standard project management methodology used
by the UK government• Starts by considering a business case for a project• Planning, organisation and risk management are key
feature of the PRINCE 2 approachStages:• Starting Up• Initiating• Delivering• Final Delivery
Include Project Initiation Document, which contains the results of the analysis tasks (project goals, scope, constraints, and so on)
Levels:• Directing (corporate
managers)• Managing (project managers)• Delivering
(Gray, 2012, pg. 325)
References
Gray, S. (April 23, 2012). Information Technology in a Global Society. Charleston, SC : USA