HSC Information Processing and Technology/Project Management

Projects involve the planning, designing and implementation of an information system for a specific purpose. An information system is a system that has been set up to store and carry out tasks using information. Most information systems in today's modern society utilize computers, but this has not always been the case, and some information systems, such as address books and filing cabinets, are still operated manually.

Projects can be done for any of the systems listed below


 * Database information systems
 * Communication systems
 * transaction processing systems
 * Decision support systems
 * Automated manufacturing systems
 * multimedia systems

The skills learnt in this topic can be applied to any of the listed topics, as developing any of those systems will require good planning, so the project work topic is foundational to your studies of the HSC component of IPT.

Project Management
Project management is the process of planning, scheduling and controlling all the activities within each stage of the system development cycle. It aims to deliver a new system within an acceptable time frame and budget using any required knowledge, skills, tools or techniques necessary for the particular project.

A project can be any undertaking that sets out a specific objective

The advantages of using project management include:
 * cost control
 * development within specified times
 * organised use of the available hardware and software
 * an improved end product

Project management is best described as a set of five processes that guide the developer of a project. These five processes are known as the system development cycle:
 * Understanding the problem
 * Planning decisions
 * Designing solutions
 * Implementing Solutions
 * Testing, Evaluating and Maintaining

Developing a Project Plan
A project plan is a summary of a project that specifies who, what, how and when. It clarifies what needs to be done and helps people to understand how they fit into the project. A project plan breaks the project into major tasks called subprojects.

The start of a project plan is the problem definition. All the subsequent steps come from the problem definition.

A project plan:
 * Is a summary of a project, specifying who, what, how and when.
 * Clarifies what needs to be done, helps people understand how they fit into the project.
 * Provides overall schedule, details of subprojects and a schedule for each subproject.
 * Identifies people, information technology and data/information required by the system.
 * Helps to deliver a system on time and minimise the effect of unanticipated problems.

A very important tool used in project planning is a Gantt chart, which shows how long each stage of a project or subproject will take

Project Plans involve goals, deliverables and schedules. People working on projects need to understand the need for these things to minimize problems later on

Communication Skills
Participants in a project must always be kept informed. Communication skills incorporate a variety of strategies and techniques for dealing with other people. Good communication facilitates the sharing of information and genuine understanding. All team members must contribute to the team cohesiveness by actively using communication strategies such as:

Social and Ethical Design
All projects have social and ethical implications. A persons ethics are their values, a set of beliefs about what is right or wrong. A project should be considered unethical if it:


 * harmed others in some way
 * was against society's standards of what is right
 * violated the rights, freedom or justice due to others
 * broke the law

Some ethical issues that should be thought of while going through project design are:


 * crime and security, including data protection, piracy, hacking, and virus issues
 * privacy of the individual
 * intellectual property rights and copyright
 * computing etiquette or rules that respect the rights of others
 * the health and safety of all participants
 * equity or the equal access of all participants to the benefits of an information system

Design of System
Information systems should be designed to take into account the strengths and weaknesses of both people and machine.

The Environment
The environment is any aspect which is not directly part of the system but which affects it in some way. The information system has a boundary that sets the limits of the system environment. Within the limits are both human and physical resources.

Ergonomic design that considers the users by arranging the work environment to minimise the problems that can result from the use of hardware and software is desirable. Ergonomic design may include adjustable furniture, correct lighting, controlled noise and software that helps the user to carry out the tasks involved

Understanding the Problem
Understanding the problem is the first stage in the system development cycle. The exact nature of the problem must be determined and whether it can be solved by an information system. This may involve redefining the problem and identifying its important elements. A clear problem statement is essential at this stage.
 * What are the problems with the existing system?
 * How does the existing system work?
 * How do you identify the problems with the existing system?

Prototypes
A prototype is a working model of an information system. Prototypes are built in order to understand the requirements of the system. The also can help in defining the problem to be solved and in determining how an information system might solve the problem. Advantages of using prototypes After all the information has been gathered, a requirements report is produced. This is a statement about the purpose/ requirements of the new information system. It includes aims and objectives of the new system and how it will help the organisation.
 * Clarifies how the existing system will work.
 * The requirements of the system more accurately reflect the needs of the participants.
 * Participants have the opportunity to be involved earlier and more directly in the development of the new system.
 * The new system is easier to create from a prototype.

Planning - Making Decisions

 * This stage involves making decisions using the data gathered. The first task is to develop one or more potential solutions to the problem.
 * A constraint is a factor that affects the system and prevents it from achieving the desired objectives. There are different types of constraints.

Feasibility Studies
A feasibility study is a short report that analyses potential solutions in terms of the known constraints and makes a recommendation. It does not attempt to find a detailed solution. The feasibility study briefly examines the available options, estimates costs and identifies any constraints to be considered. It judges whether a potential solution can actually be implemented.

A feasibility study can make three recommendations: No Change, Develop a new system or investigate other solutions.

Is the Problem Worth Solving?
Deciding whether the problem can be solved.
 * Will the existing system be able to perform the required tasks in the foreseeable future?
 * Will the proposed system meet future needs?
 * Have existing similar solutions been examined?
 * How crucial is the new system to the total organisation?

Is it economically feasible?
The systems analyst must determine whether the solution to the problem is affordable.
 * Development hardware/ software costs?
 * Development personnel costs?
 * Outsourcing costs?
 * The available capital
 * Costs savings as a result of the products implementation
 * Future upgrade costs

Is it operationally feasible?
Analyse whether a solution will be usable by the target customers.
 * What expertise was required to complete this project?
 * What resources are required to develop this project?
 * Are we able to support this product in the future?
 * Can we retrain/ redistribute existing resources to this project?

Is it technically feasible?
Determine what hardware and software is currently being used.
 * Is the technology readily available for this solution?
 * Can the product operate on a variety of platforms and hardware components?
 * Will the solution continue to operate on any new and developing technologies?

Scheduling  Can it be completed in the required time?
The schedule feasibility takes into account the time frame in which a solution must be developed. The solution being developed must be achievable within an appropriate time frame. (Use of Gantt Charts).
 * When is the best time to implement the product?
 * Are personnel available at the required times?
 * How long will each stage of the development take?
 * Are required resources available when needed?
 * What if key personnel leave during development?

Are there other alternative solutions?
After determining the feasibility of a solution, a decision must be made as to whether the solution is to be implemented.
 * Smaller scale solution to the project
 * Discontinue the project

What are the social and ethical issues?
Ensuring that the software being developed is not socially biased as this may impact the feasibility of the solution.
 * Changing nature of work for users
 * Affects on level of employment
 * Affects on the public
 * Legal issues

The Project Plan
This is a summary of who, what, when, and how.

It involves helping participants understand their role in the project. Identifies sub-projects and gives a time frame for them. Identifies the need for the users and participants and their feedback. Identifies the people, information technology, and data/information required by the system.

There are three important parts to a project plan:
 * 1) project goal- desired outcome
 * 2) deliverable- the tangible item expected from the task
 * 3) schedule- gantt chart, the timeline of tasks to be completed

NOTE: the project leader is responsible for developing the project plan and ensuring it is implemented correctly!

Designing Solutions
Designing a solution is the transformation of the specifications into appropriate hardware, software and information processes. It involves purchasing hardware, writing or purchasing software, and specifying information processes to make the system operational.

Participant Development
Participant development occurs when people within the information system develop the solution. Participants produce their own information system using readily available information technology. Information system personnel do not develop the system. Stages in the system development cycle are affected by participant development.

Design Tools
Design tools assist in the development of a new system.

Context Diagrams
Context Diagrams are used to represent entire information systems. The system is shown as a single process along with the inputs and outputs (external entities) to the system. The external entities are connected to the single process by data flow arrows. Processes are represented by circles, entities by boxes and data flow by arrows.

Data Flow Diagrams
A data flow diagram is an expansion of a context diagram. DFDs represent the information system as a number of processes that together form the single process in a Context Diagram. The focus is on the flow of data between information processes in the system. DFDs show where data is collected, organised, analysed, stored, processed, transmitted and displayed. They provide a simple technique for visualising the movement of data and describing what participants do, rather than what the computers do. Data Flow Diagrams share the same symbols as Context Diagrams but have an extra one, an open ended box for data storage.

Decision Trees
Decision trees are a diagrammatic way of representing all possible combinations of decisions and their resulting actions. It represents the decisions made within a system as the branches of a tree. For every condition, there is an action/ outcome.

Decision Tables
Decision tables represent all possible conditions and the actions that will result. It indicates the alternatives for different conditions and actions based on the rules.

Data Dictionaries
A data dictionary is a description of the fields and data stored within the system. From the dictionary it is possible to determine the name used to reference the data, the type of data stored, the length of the field, the application program and an example of data being stored in the system. Data Dictionaries can also be used to calculate the storage required for each record. This forms part of the documentation for the system.

System Flowcharts
System flowcharts are a diagrammatic way of representing both the flow of data and logic through an information system. It documents the essential details of the system, such as sequence, processes, and rules for selecting particular actions. A system flowchart shows the hardware used to process data such as peripheral devices, storage mediums and processing units.

Note these have been removed from the 2010 Onwards Syllabus for HSC

Implementing the Project Plan
The implementation stage delivers the new information system to users and participants. Participants will be provided with at least some of the following new components of the system: Hardware, Software, Data or Processes

Training Participants
Training ensures participants can use the new system and understand its benefits. Training is also needed in the installation of a new system and to ensure that the computer is being used efficiently. The type of training depends on the existing knowledge of the participants and the features of the new system. Technical support staff are people who assist participants of a system on an as-needed basis.

Determining the Conversion Method
Conversion of a system only takes place when a system already exists. It must be carefully planned and executed to avoid errors. There are four methods that can be used to upgrade or replace an existing system. Direct Conversion The old system is shut down or removed and the new system immediately replaces the old one.

Parallel Conversion During the change-over phase, both systems are running together. This method is often used when converting from a non-computing system to a computerised system.

Phased Conversion Parts of the old system are replaced by the new system until the whole system has been converted.

Pilot Conversion This involves trialing the new system in a part of an organisation. The pilot site is selected and a conversion method is used to convert to the new system. Once the pilot test is ok, the rest of the system is changed.

Advantages and Disadvantages of conversion methods:

Deciding Testing Methods
Testing a system is a very important part of the implementation of a system. Without rigorous testing, the system cannot be guaranteed to work as expected.

Testing, Evaluating and Maintaining
Testing a solution ensures that it works. Testing is carried out throughout the system development cycle. Evaluation determines whether the system is working as expected or whether changes are required. It occurs after the new system is established and minor problems have been fixed. The system must also be tested, to make sure that the original objectives and aims have been achieved.

Test data must be sufficient to ensure the program is completely operational and free of logic errors. Test data must be constructed to test every part of a program, including the mainline of the program and any modules used by the program. Test data should test: choice of available options to be taken.
 * All parts of the program
 * Each path of execution
 * Boundary conditions  the values of variables or expressions that determine the

Live Test Data
Live data is real data, used to ensure that a program works under real-life conditions. Stress testing involves increasing the load on a program in an attempt to make it fail.

Larger File Sizes
A program developed to access files should be tested with a range of file types and sizes. The use of large files will highlight problems associated with data access.

Mix of Transaction Types
A variety of different transaction types and sequences of data entry should be tested with live data. Module and program testing usually involve testing specific transactions or processes one at a time. During system testing, transactions occur in random order and checked to see if any errors arise.

Response Times
Live data is used to ensure that the system response times are appropriate. Response times are dependent on all the system components, together with their interactions with each other and other processes that may be occurring concurrently. Response times should be tested on minimum hardware using typical data of different types.

Volume data
It is important to test a system using expected loads. It is also necessary to test the system under heavy loads. Multi-user products should be tested with large numbers of users entering and processing data simultaneously to see if the program can handle the load.

Interfaces between Modules
Interface tests will ensure that the correct numbers of parameters are sent to and from the module and that the format is correct. Interface tests will also detect conflicts between local and global variables. Comparison with Program Test Data Software developers generate test data to test the limits of the system that may not be tested under normal use.

Benchmarking
A benchmark is a standard against which performance of a computer program can be assessed. Established programs are often used as a benchmark to indicate the quality and performance expectations of a new product. Benchmarks allow users of software products to make informed purchasing decisions.

Quality Assurance
Quality Assurance is a set of procedures used to certify that a generated product meets specified criteria with respect to quality and reliability.
 * Correctness
 * Reliability
 * Efficiency
 * Integrity
 * Maintainability


 * Does it do what it is supposed to do?
 * Does it do it all of the time?
 * Does it do it the best way possible?
 * Is it secure?
 * Can it be understood?

Quality Assurance is not just about testing a product once it has been completed. Quality Assurance techniques should be implemented throughout the software development process.

Alpha Testing
Testing of the final solution by personnel within the software development company prior to the products release. The client uses the system in a controlled environment and checks to see if it meets their requirements.

Beta Testing
Testing of the final solution by a limited number of users outside the software development company using real world data and conditions. The program is given to a number of potential clients who will also report to the developers any problems they encounter in the program.

Evaluation

 * Usability
 * Speed
 * Security
 * Accuracy
 * Efficiency
 * Rate of Usage

Maintenance
Maintenance is the modification of the system by making minor improvements. It involves documentation and logs.

Operation Manual
An operation manual details procedures participants follow when using a new system. Participants need to be instructed about and assisted with the major features and functions of the system. An operation manual includes:
 * User-friendly format and structure
 * Clear and concise instructions
 * Steps listed in point form
 * Tasks completed in the simplest way
 * Appropriate instructions for file management and security
 * Screen dumps included where possible.