Chapter 15 (HL only): IT Systems in Organizations
Off-the-shelf Software:
Definition: Software widely available and can be bought by anybody.
Custom / Bespoke Software:
Definition: Software created specifically for an individual or organization.
Advantages | Disadvantages | |
---|---|---|
Off the shelf |
|
|
Custom |
|
|
IDE (Integrated Development Environment):
Definition: A set of programs used by system developers to create IT systems.
Some of the tools in an IDE include: a text editor used to enter the program’s source code, a compiler that translates the source code into machine code, and debugging tools to help find and fix errors.
Legacy System:
Definition: An old, out-of-date IT system still used because it is essential to an organization.
Virtual Machine:
Definition: A software implementation of a computer system, allowing one physical computer to run several “virtual computers,” each with its own independent operating system and application software.
Emulator:
Definition: A computer program that simulates another type of computer, allowing it to run programs designed for it.
SDLC (System Development Life Cycle):
Definition: The stages in the lifetime of an IT system, from proposal to design, creation, and eventual phasing out.
SDLC steps:
Analysis: an investigation of the current system, the needs of the client, and the possibility of creating a solution.
Design: planning a solution to meet the client's needs.
Development: the creation of a system.
Testing: ensuring that the system functions correctly.
Installation: installing the software and any necessary hardware at the client’s organization.
Maintenance: updates and changes made to a system to fix bugs, improve performance, or add new features.
The analysis stage involves investigating the current system, determining the organization’s requirements for a new system, and investigating and choosing a possible solution.
Client:
Role: Person or organization commissioning an IT project.
The analysis must involve all key stakeholders, including the client and the end users.
End-User:
Definition: A person who will use the IT project once it is finished.
Project Goals:
Definition: Clear statement of the intentions of a proposed IT project.
Must be carefully defined during this phase, including its scope.
Scope:
Definition: Clear definition of the boundaries of an IT project.
This is critical, a project with poorly defined goals is less likely to be successful.
There are a few steps in the analysis stage, with each having several components:
Data collection:
Purpose: Gather information about an existing system during the development of a new one.
To gather information from users, questionnaires, orinterviews can be used.
To gather information from the organization, developers can use organizational policies, user manuals, and technical documentation.
Organizational IT Policies:
Definition: Governing policies on IT use, data integrity, and security within an organization.
Technical Documentation:
Purpose: Intended for programmers and developers of an IT system.
User Documentation:
Purpose: Intended for users, explaining how to understand and use the IT system.
Requirements Specification:
Definition: A clear list of functional and non-functional requirements for a proposed IT project.
Functional Requirements:
Definition: Specific features and functions that a proposed IT system must have.
Non-functional Requirements:
Definition: Conditions that a proposed IT system must meet, such as hardware compatibility and timing constraints.
Constraints:
Definition: Limitations within which an IT system must operate.
This is a non-functional requirement.
Projects may have several possible solutions.
Purpose: Examine if the proposed system is possible.
A solution must be chosen and justified.
Business Case:
Definition: Analysis of the benefits and problems of a proposed IT project.
SWOT Analysis:
Method: Used during business case creation.
Examines the Strengths, Weaknesses, Opportunities, and Threats.
Project Plan:
Definition: Clear definition of the goals, scope, and schedule of a proposed IT project.
A project manager and methodology must be chosen, and milestones must be set.
Sometimes it is useful to use a Gantt Chart to plan ahead.
Project Manager:
Role: Individual with overall responsibility for an IT project.
Project Management Methodology:
Definition: Systems and techniques designed for successful projects and avoiding failure.
Milestones:
Definition: Key points during project development, e.g., completion of a stage.
Gantt Chart:
Purpose: Chart stages of a planned IT project and the responsible individuals.
Project Management Software:
Purpose: Aids in planning, managing, and guiding IT project development.
PERT Chart:
Purpose: Visualizes interdependencies in projects.
CP (Critical Path):
Definition: Longest path through a project's development, determined by PERT chart.
During this stage, software developers plan a solution that fulfills the functional requirements identified during the analysis stage.
This stage covers the inputs, processes, data structures, and outputs required by the system.
Outputs:
Purpose: A list of results that a system must produce during analysis.
Data Structure:
Definition: The organization and relationship of data within an IT system.
Processes:
Purpose: A list of procedures a system must implement during analysis.
Data Flow Diagram (DFD):
Purpose: Shows processes in a system and the flows of data between them.
System Context Diagram:
Definition: High-level DFD of a system.
DFD Symbols
Process: represented by a circle with the name of the process inside. There must be at least one arrow for input and for output.
Sink: represented by a rectangle with the name of the process inside. This is a data source or destination outside the system's scope, it’s a process performed by somebody else.
Data store: two lines, with the name of the data being stored inside.
Data flow: an arrow, with the name of the data indicated. It shows the direction of flow.
Entity Relationship Diagram (ERD):
Purpose: Shows items of data stored in a system and their relationships.
It shows the groups of data stored (entities), the attributes each entity has, and the relationships between various data items.
It also shows the cardinality between the various data items.
Entity:
Represent database tables.
Shown as a list inside a rectangle, listing the attributes belonging to that entity.
The primary key is clearly indicated.
Attributes:
Fields of information that each entity has.
There is a primary key per entity, which is a unique ID that identifies each row of the table.
Relationships:
Definition: Links between separate items of data.
Shown as a line, with its names (one for each direction)
Cardinality of relationships:
The quantity of attributes that another attribute can relate to.
Cardinality symbols should be shown on each side of the line.
User Interface:
Definition: The part of a system that allows a user to interact with it.
Designed at this stage, with prototypes done to show the client.
Prototype Interface:
Purpose: Early version of a user interface to gather feedback about its effectiveness.
Implementation Stage:
Definition: Phase in the SDLC where the system is programmed.
Also called development or construction.
A team of programmers will work on creating the software using IDEs.
Prototypes will be made, which need to undergo testing and quality control.
Alpha Testing:
Purpose: Initial testing of an IT system.
The program is likely to contain bugs, so testing is required to find them.
Bugs:
Definition: Errors in a computer program or system, ideally found during testing.
Software Testers:
Definition: Individuals who perform alpha, beta, and acceptance testing.
Prototypes:
Purpose: Early versions of a project designed to get feedback from clients and users.
Quality Control Processes:
Purpose: Processes to ensure code produced by programmers adheres to accepted best practices.
Test Plan:
Purpose: A list of all tests and test data that should be tried with a system.
Quality Assurance Methods:
Purpose: Ensures the entire development team follows standardized best practices.
Capability Maturity Model Integration (CMMI):
Definition: A quality assurance method that describes an organization's level of maturity.
Documentation:
Documentation is produced at this stage so that other people can work their way around the system
Programmers usually write comments in the source code.
Technical documentation is targeted at system administrators and other developers who may change the system in the future.
User documentation explains how to use, install, and start the system. These can be FAQs, tutorials, or online lessons.
Frequently Asked Questions:
Definition: A list of common problems users may encounter, along with their solutions.
Online Lessons:
Definition: Form of training delivered online.
Tutorial:
Definition: A document explaining how to perform key tasks step by step.
User Manual:
Definition: A document explaining to users how to use a computer system.
Project Managers:
Role: Oversee all IT purchases, deployments, and systems within an organization.
Analyst:
Role: Documents the current system, identifies problems, and suggests areas for improvement in project development.
Database Administrator:
Role: Sets up, maintains, and monitors the organization's databases.
Development Manager:
Role: Oversees programmers in creating the system specified in the design during project development.
Network Manager:
Role: Installs, configures, and monitors an organization's network.
Programmer:
Role: Writes computer programs based on a design document.
Support Staff:
Role: Trains users and assists with problems as they occur.
Beta Testing:
Purpose: Testing of an IT system once all features have been added, focusing on bug identification.
This can be done only after alpha testing has been finished.
Beta Tester:
Definition: A person who attempts to find bugs in software before its release to customers.
Bug Tracking System:
Purpose: Used to track and manage bugs in a piece of software.
User Acceptance Testing:
Purpose: Tests performed by a client before formally accepting an IT system from developers.
Load Testing:
Purpose: Testing the system's capability under real-world processing conditions.
Acceptance Testing:
Purpose: Testing performed by the client and users as part of the handover process.
Installation:
Definition: Installing a new IT system at the client's premises.
Also called delivery or deployment.
User training:
Purpose: Ensuring users can work with the new IT system.
Must be carried out before a new system can be used under real-world conditions.
Handover:
Definition: The point at which developers formally pass the system to the client.
Changeover:
Definition: The process of moving from an old system to a new IT system.
Can be done only when training is complete.
There are three types of changeover: direct, parallel, and phased.
Direct Changeover:
Definition: Immediate removal of an old system, completely replacing it with a new IT system.
Parallel Changeover:
Definition: Running the old and new systems side by side.
Also called parallel running.
Phased Changeover:
Definition: One part of an organization switches to a new IT system for testing, while others continue using the old system.
Delivery:
Purpose: Installing a new IT system at the client's premises.
Deployment:
Definition: Stage in the SDLC where the system is deployed at the client's site.
Maintenance:
Definition: Alterations made to a system after it has been formally handed over.
When changes are made, all stages of the SDLC are applied.
There are four types of maintenance: adaptive, perfective, corrective, and preventative.
Maintenance also includes giving support to the company to fix future problems.
Adaptive Maintenance:
Purpose: Changes to software to make it work with a new software environment.
Perfective Maintenance:
Purpose: Changes software to incorporate new user requirements or changed requirements.
Corrective Maintenance:
Purpose: Fixes bugs in software.
Preventative Maintenance:
Purpose: Changes software to avoid possible future problems.
Regression Testing:
Purpose: Testing to ensure changes to an IT system did not break any previously working functionality.
Support:
Definition: Staff who help users with problems encountered while using an IT system.
Internal Support:
Definition: Support for an IT system provided within an organization.
Incident Tracking System:
Purpose: Used to keep track of problems and difficulties encountered in an IT system.
Also called Incident Management System.
Incident Escalation:
Definition: Moving a problem with an IT project to a higher level if it cannot be solved.
Phase Out:
Definition: Gradually removing an old IT system from use.
This is done when an IT system reaches the end of its life.
The way in which the SDLC stages are approached depends on the development model used.
There are two approaches:
Waterfall Development:
Definition: Development method that focuses on completing each stage of the SDLC for the entire project before moving on to the next.
Agile Development:
Definition: Development method focusing on creating small, working parts of a project at regular intervals.
Advantages | Disadvantages | |
---|---|---|
Waterfall development |
|
|
Agile development |
|
|
Project Management Methodologies:
Aim to describe the best approaches for managing the SDLC steps.
Stage 0: Feasibility study. Examines whether an IT project is feasible and why.
Stage 1: Investigation of the current environment.
Stage 2: Business system options. Presentation of different options for solving the business problem.
Stage 3: Requirements specification. Detailed list of requirements.
Stage 4: Technical system options. Involves considering hardware, software, networks, and personnel required.
Stage 5: Logical design. Modelling and documenting all of the required data.
Stage 6: Physical design. Translating previous design work into actual hardware and software specifications.
Procurement:
Definition: The act of acquiring necessary items (software, hardware, staff) to develop an IT system.
The SDLC is divided into five stages (process groups).
The result of these groups is fed into the next group, producing a project charter.
The SDLC is broken into stages: Starting Up, Initiating, Delivering, and Final Delivery.
Each stage is broken into levels: Directing, Managing, and Delivering, which describe the type of work performed.
Project Initiation Document:
Purpose: Document used in PRINCE2 to describe the key features of an IT project.
Note: As an ITGS student, you do not need to remember the names of each process group, knowledge area, or all of the 42 PMBoK tasks, or be able to draw a diagram of the PRINCE2 processes. It is sufficient to understand the purpose of these project management methodologies, the approaches they use, and some of the key events and features that each methodology has. |
---|
Off-the-shelf Software:
Definition: Software widely available and can be bought by anybody.
Custom / Bespoke Software:
Definition: Software created specifically for an individual or organization.
Advantages | Disadvantages | |
---|---|---|
Off the shelf |
|
|
Custom |
|
|
IDE (Integrated Development Environment):
Definition: A set of programs used by system developers to create IT systems.
Some of the tools in an IDE include: a text editor used to enter the program’s source code, a compiler that translates the source code into machine code, and debugging tools to help find and fix errors.
Legacy System:
Definition: An old, out-of-date IT system still used because it is essential to an organization.
Virtual Machine:
Definition: A software implementation of a computer system, allowing one physical computer to run several “virtual computers,” each with its own independent operating system and application software.
Emulator:
Definition: A computer program that simulates another type of computer, allowing it to run programs designed for it.
SDLC (System Development Life Cycle):
Definition: The stages in the lifetime of an IT system, from proposal to design, creation, and eventual phasing out.
SDLC steps:
Analysis: an investigation of the current system, the needs of the client, and the possibility of creating a solution.
Design: planning a solution to meet the client's needs.
Development: the creation of a system.
Testing: ensuring that the system functions correctly.
Installation: installing the software and any necessary hardware at the client’s organization.
Maintenance: updates and changes made to a system to fix bugs, improve performance, or add new features.
The analysis stage involves investigating the current system, determining the organization’s requirements for a new system, and investigating and choosing a possible solution.
Client:
Role: Person or organization commissioning an IT project.
The analysis must involve all key stakeholders, including the client and the end users.
End-User:
Definition: A person who will use the IT project once it is finished.
Project Goals:
Definition: Clear statement of the intentions of a proposed IT project.
Must be carefully defined during this phase, including its scope.
Scope:
Definition: Clear definition of the boundaries of an IT project.
This is critical, a project with poorly defined goals is less likely to be successful.
There are a few steps in the analysis stage, with each having several components:
Data collection:
Purpose: Gather information about an existing system during the development of a new one.
To gather information from users, questionnaires, orinterviews can be used.
To gather information from the organization, developers can use organizational policies, user manuals, and technical documentation.
Organizational IT Policies:
Definition: Governing policies on IT use, data integrity, and security within an organization.
Technical Documentation:
Purpose: Intended for programmers and developers of an IT system.
User Documentation:
Purpose: Intended for users, explaining how to understand and use the IT system.
Requirements Specification:
Definition: A clear list of functional and non-functional requirements for a proposed IT project.
Functional Requirements:
Definition: Specific features and functions that a proposed IT system must have.
Non-functional Requirements:
Definition: Conditions that a proposed IT system must meet, such as hardware compatibility and timing constraints.
Constraints:
Definition: Limitations within which an IT system must operate.
This is a non-functional requirement.
Projects may have several possible solutions.
Purpose: Examine if the proposed system is possible.
A solution must be chosen and justified.
Business Case:
Definition: Analysis of the benefits and problems of a proposed IT project.
SWOT Analysis:
Method: Used during business case creation.
Examines the Strengths, Weaknesses, Opportunities, and Threats.
Project Plan:
Definition: Clear definition of the goals, scope, and schedule of a proposed IT project.
A project manager and methodology must be chosen, and milestones must be set.
Sometimes it is useful to use a Gantt Chart to plan ahead.
Project Manager:
Role: Individual with overall responsibility for an IT project.
Project Management Methodology:
Definition: Systems and techniques designed for successful projects and avoiding failure.
Milestones:
Definition: Key points during project development, e.g., completion of a stage.
Gantt Chart:
Purpose: Chart stages of a planned IT project and the responsible individuals.
Project Management Software:
Purpose: Aids in planning, managing, and guiding IT project development.
PERT Chart:
Purpose: Visualizes interdependencies in projects.
CP (Critical Path):
Definition: Longest path through a project's development, determined by PERT chart.
During this stage, software developers plan a solution that fulfills the functional requirements identified during the analysis stage.
This stage covers the inputs, processes, data structures, and outputs required by the system.
Outputs:
Purpose: A list of results that a system must produce during analysis.
Data Structure:
Definition: The organization and relationship of data within an IT system.
Processes:
Purpose: A list of procedures a system must implement during analysis.
Data Flow Diagram (DFD):
Purpose: Shows processes in a system and the flows of data between them.
System Context Diagram:
Definition: High-level DFD of a system.
DFD Symbols
Process: represented by a circle with the name of the process inside. There must be at least one arrow for input and for output.
Sink: represented by a rectangle with the name of the process inside. This is a data source or destination outside the system's scope, it’s a process performed by somebody else.
Data store: two lines, with the name of the data being stored inside.
Data flow: an arrow, with the name of the data indicated. It shows the direction of flow.
Entity Relationship Diagram (ERD):
Purpose: Shows items of data stored in a system and their relationships.
It shows the groups of data stored (entities), the attributes each entity has, and the relationships between various data items.
It also shows the cardinality between the various data items.
Entity:
Represent database tables.
Shown as a list inside a rectangle, listing the attributes belonging to that entity.
The primary key is clearly indicated.
Attributes:
Fields of information that each entity has.
There is a primary key per entity, which is a unique ID that identifies each row of the table.
Relationships:
Definition: Links between separate items of data.
Shown as a line, with its names (one for each direction)
Cardinality of relationships:
The quantity of attributes that another attribute can relate to.
Cardinality symbols should be shown on each side of the line.
User Interface:
Definition: The part of a system that allows a user to interact with it.
Designed at this stage, with prototypes done to show the client.
Prototype Interface:
Purpose: Early version of a user interface to gather feedback about its effectiveness.
Implementation Stage:
Definition: Phase in the SDLC where the system is programmed.
Also called development or construction.
A team of programmers will work on creating the software using IDEs.
Prototypes will be made, which need to undergo testing and quality control.
Alpha Testing:
Purpose: Initial testing of an IT system.
The program is likely to contain bugs, so testing is required to find them.
Bugs:
Definition: Errors in a computer program or system, ideally found during testing.
Software Testers:
Definition: Individuals who perform alpha, beta, and acceptance testing.
Prototypes:
Purpose: Early versions of a project designed to get feedback from clients and users.
Quality Control Processes:
Purpose: Processes to ensure code produced by programmers adheres to accepted best practices.
Test Plan:
Purpose: A list of all tests and test data that should be tried with a system.
Quality Assurance Methods:
Purpose: Ensures the entire development team follows standardized best practices.
Capability Maturity Model Integration (CMMI):
Definition: A quality assurance method that describes an organization's level of maturity.
Documentation:
Documentation is produced at this stage so that other people can work their way around the system
Programmers usually write comments in the source code.
Technical documentation is targeted at system administrators and other developers who may change the system in the future.
User documentation explains how to use, install, and start the system. These can be FAQs, tutorials, or online lessons.
Frequently Asked Questions:
Definition: A list of common problems users may encounter, along with their solutions.
Online Lessons:
Definition: Form of training delivered online.
Tutorial:
Definition: A document explaining how to perform key tasks step by step.
User Manual:
Definition: A document explaining to users how to use a computer system.
Project Managers:
Role: Oversee all IT purchases, deployments, and systems within an organization.
Analyst:
Role: Documents the current system, identifies problems, and suggests areas for improvement in project development.
Database Administrator:
Role: Sets up, maintains, and monitors the organization's databases.
Development Manager:
Role: Oversees programmers in creating the system specified in the design during project development.
Network Manager:
Role: Installs, configures, and monitors an organization's network.
Programmer:
Role: Writes computer programs based on a design document.
Support Staff:
Role: Trains users and assists with problems as they occur.
Beta Testing:
Purpose: Testing of an IT system once all features have been added, focusing on bug identification.
This can be done only after alpha testing has been finished.
Beta Tester:
Definition: A person who attempts to find bugs in software before its release to customers.
Bug Tracking System:
Purpose: Used to track and manage bugs in a piece of software.
User Acceptance Testing:
Purpose: Tests performed by a client before formally accepting an IT system from developers.
Load Testing:
Purpose: Testing the system's capability under real-world processing conditions.
Acceptance Testing:
Purpose: Testing performed by the client and users as part of the handover process.
Installation:
Definition: Installing a new IT system at the client's premises.
Also called delivery or deployment.
User training:
Purpose: Ensuring users can work with the new IT system.
Must be carried out before a new system can be used under real-world conditions.
Handover:
Definition: The point at which developers formally pass the system to the client.
Changeover:
Definition: The process of moving from an old system to a new IT system.
Can be done only when training is complete.
There are three types of changeover: direct, parallel, and phased.
Direct Changeover:
Definition: Immediate removal of an old system, completely replacing it with a new IT system.
Parallel Changeover:
Definition: Running the old and new systems side by side.
Also called parallel running.
Phased Changeover:
Definition: One part of an organization switches to a new IT system for testing, while others continue using the old system.
Delivery:
Purpose: Installing a new IT system at the client's premises.
Deployment:
Definition: Stage in the SDLC where the system is deployed at the client's site.
Maintenance:
Definition: Alterations made to a system after it has been formally handed over.
When changes are made, all stages of the SDLC are applied.
There are four types of maintenance: adaptive, perfective, corrective, and preventative.
Maintenance also includes giving support to the company to fix future problems.
Adaptive Maintenance:
Purpose: Changes to software to make it work with a new software environment.
Perfective Maintenance:
Purpose: Changes software to incorporate new user requirements or changed requirements.
Corrective Maintenance:
Purpose: Fixes bugs in software.
Preventative Maintenance:
Purpose: Changes software to avoid possible future problems.
Regression Testing:
Purpose: Testing to ensure changes to an IT system did not break any previously working functionality.
Support:
Definition: Staff who help users with problems encountered while using an IT system.
Internal Support:
Definition: Support for an IT system provided within an organization.
Incident Tracking System:
Purpose: Used to keep track of problems and difficulties encountered in an IT system.
Also called Incident Management System.
Incident Escalation:
Definition: Moving a problem with an IT project to a higher level if it cannot be solved.
Phase Out:
Definition: Gradually removing an old IT system from use.
This is done when an IT system reaches the end of its life.
The way in which the SDLC stages are approached depends on the development model used.
There are two approaches:
Waterfall Development:
Definition: Development method that focuses on completing each stage of the SDLC for the entire project before moving on to the next.
Agile Development:
Definition: Development method focusing on creating small, working parts of a project at regular intervals.
Advantages | Disadvantages | |
---|---|---|
Waterfall development |
|
|
Agile development |
|
|
Project Management Methodologies:
Aim to describe the best approaches for managing the SDLC steps.
Stage 0: Feasibility study. Examines whether an IT project is feasible and why.
Stage 1: Investigation of the current environment.
Stage 2: Business system options. Presentation of different options for solving the business problem.
Stage 3: Requirements specification. Detailed list of requirements.
Stage 4: Technical system options. Involves considering hardware, software, networks, and personnel required.
Stage 5: Logical design. Modelling and documenting all of the required data.
Stage 6: Physical design. Translating previous design work into actual hardware and software specifications.
Procurement:
Definition: The act of acquiring necessary items (software, hardware, staff) to develop an IT system.
The SDLC is divided into five stages (process groups).
The result of these groups is fed into the next group, producing a project charter.
The SDLC is broken into stages: Starting Up, Initiating, Delivering, and Final Delivery.
Each stage is broken into levels: Directing, Managing, and Delivering, which describe the type of work performed.
Project Initiation Document:
Purpose: Document used in PRINCE2 to describe the key features of an IT project.
Note: As an ITGS student, you do not need to remember the names of each process group, knowledge area, or all of the 42 PMBoK tasks, or be able to draw a diagram of the PRINCE2 processes. It is sufficient to understand the purpose of these project management methodologies, the approaches they use, and some of the key events and features that each methodology has. |
---|