Learning Outcomes
Students should be able to:
• Explain the impact of the ‘software crisis’
• Explain the need for software systems which meet the needs of organisations and/or individuals
• Explain the main factors affecting system development: the user needs, time and cost
• Understand that a computer system consists of a user interface, processes and data
• Describe the roles of the following during system development: the systems analyst, the project manager and the programmer
• Describe the purpose of analysis
• Evaluate different fact finding techniques: interviews, questionnaires, observation and document sampling
• Distinguish between functional and nonfunctional user requirements
• Explain the purpose of a data flow diagram (DFD)
• Produce context and level one DFDs for simple scenarios
The impact of the “Software crisis”
The software crisis was created when the hardware developments, such as the speed of RAM and processing power, were growing at a much faster pace than software developments. As computer technology became more sophisticated, organisations were demanding more complex problems to be solved. Programmers struggled to keep pace with developments which led to the software crisis. The software crisis was evident as projects ran over budget, were delivered late (if at all) and the software was very inefficient. In addition, software developed was of allow quality and did not meet the user’s needs. Projects were difficult to manage and the codes were difficult to maintain with little or no documentation being produced. The software crisis did not only affect the development of new software but also impacted upon the maintenance of older established software that needed to be adapted to new user requirements. Maintaining older systems is difficult. Programmers spend large amounts of time on keeping older software functional to allow an organisation to continue operating. Organisations that have spent a lot of money developing software in the past are reluctant to replace this older software with new software. Apart from the expense in developing new software there is also the time required to test new software before it becomes fully operational. A famous example of software maintenance posing such a problem was at the turn of the millennium System Development and Analysis when the date on computer systems would change from 1999 to 2000. Experts worried that the 00 date would cause serious world-wide computer crashes.
The need for software systems
Organisations and individuals demand software to solve problems. In most cases software is bought as generic packages and tailored to meets the user needs such as Microsoft Office 365. We sometimes refer to these as productivity tools such as individual using Word processing software to produce personal letters. In some cases an organisation may purchase an application software package which focuses on a given task such as payroll. In this application the inputs, processes and outputs are the same for all organisations. Rather than each organisation developing their own software it would save on development time and costs to purchase a payroll software package “off-the-shelf”. Each business would only pay a fraction of the development costs. If the business functions are very specialised such as manufacturing robot arms the software may have to be tailor made which involves using an ICT development team to create a specialised software package. This will be more expensive as the organisation will have to meet the full development costs and there will also be time required to fully develop and test the custom made software.
Main factors that affect system development
A new system has to be developed due to a number of reasons. The current system may no longer be suitable for its purpose as the requirements of the business may have changed or the business may have expanded. The current system may also be too inflexible or expensive to maintain. The technical support for the old system may no longer be available or it could be available but very expensive. Technological developments could also make the current system outdated or redundant. Advances in hardware and operating systems may also necessitate a new system, as they may not support the old system.
Computer Systems
A computer consists of a user interface which allows data to be entered that requires processing and outputs the results after processing. The user interface allows the user to interact with the computer and the software. A process is an activity carried out as part of a computer system. A process typically will take data in the form of raw facts and figures and produce information typically in the form of reports.
Systems Analyst
The systems analyst will analyse the data processing requirements of the organisation and document the findings. As part of this they will conduct a feasibility study to help ascertain whether the system should be computerised and which solution is most suitable. They will be responsible for drawing up the systems specification; criteria against which system testing should be evaluated leading to implementation of the system. If a fault is found during system testing which reflects a fault in the system design then the Analyst will be responsible for correcting the fault.
Programmer
This is the person who is responsible for writing the source code using a programming language such as Visual Basic. The program will be written from the module specifications. When the program is produced the programmer will also develop a test plan and test the program. At this stage if there are any bugs in the program, then they will also debug the program. To allow the program to be further developed the programmer will also produce technical documentation which will be used during the maintenance stage.
Project Manager
The Project manager will have a number of roles in system development. These roles can be categorised as:
To oversee the development of the new system
To schedule the project
To manage the budget
To allocate resources ( Resource includes human, hardware and software)
To monitor progress
To identify and respond to risk or bottlenecks
To report back to clients as the project progresses
Purpose of Analysis
The main purpose of analysis is to investigate a problem(s) with an information system. The solution to the problem can be either improvements within the existing system or creation a new information system. The systems analyst(s) who will be investigating the current system may have little or no knowledge of how the existing organisation works. The systems analyst will have to investigate the present system to establish user requirements. In order to do this the analyst needs to understand the purpose of the business or organisation and its existing system in terms of inputs, processing and outputs. This will also include any constraints to be placed on the new system such as timescale, cost, existing hardware and software and staff capability.
Fact Finding Techniques
In order to carry out a full investigation a method(s) of fact finding is employed. There are a number of methods of Fact Finding available including:
• Interviews
• Questionnaires
• Observation
• Document Sampling
Interviews
This involves the users answering questions from the system analyst on a one-to-one basis or in small groups. User can express their opinions in a detailed way .The interview may be structured or unstructured allowing questions to be followed up as more facts may come to light from the user answers. Compared to other methods interviewing is time consuming and users may also suggest answers the analyst may want to hear and not the actual truth.
Questionnaires
This involves a representative group of users who complete a set of questions the questions may be open or closed and are aimed at identifying detail on the current processes and data. Compared to interviews they are more efficient in terms of time to be completed. The down side is the inflexible opportunities the respondent has to respond as answers tend to be multiple choice. Also there tends to be a low return rate from staff, particularly if done by post or e-mail.
Observation
This involves the systems analyst shadowing users carrying out a particular process. It allows the Analyst to see at “first hand” what the user’s role entails. By doing this the Analyst can get a “feel” of user competence and abilities in doing a particular task. It also allows the analyst can get a better idea of time required to do a task, constraints and strengthens of current system. The drawback in observation is that users may respond differently if they are being observed.
Document Sampling
This involves the Analyst inspecting sample documentation such as orders, invoices and reports to help identify the current system’s inputs and outputs. It will also allow the Analyst to get an idea of the volume of data stored seeing how data is collected and stored. It can be time consuming if there is a large volume of files
Functional and Non-Functional Requirements
The functional requirements of a system will specify the activities that a system must be able to perform or provide for users. Typical functional requirements will describe functions such as how data is to be entered into the system, descriptions of outputs such as queries and reports and descriptions of operations performed by each screen. While functional requirements describe what the system should do, non-functional requirements describe how the system works
Non-functional requirements focus on specifying criteria that will judge the operation of a system as opposed to the activities to be carried out such as the time (response time) it will take updating a stock database. Other non-functional requirements will include criteria for usability, security and access to the system, storage capacity, and maintainability. If we consider security and access to the system the non-functional requirements will specify frequency of backup of data, recovery procedures, contingency planning and access restrictions. Access restrictions will specify what data needs protected and what data should be restricted to a particular user role and level of access such as “read only”. All new computer systems are subject to legislation such as the Data Protection Act.
Data flow diagram (DFD) shows how data moves through a system and what data is stored. It does not specify what type of data storage medium is used or how the data is stored. The following table shows the symbols used when constructing a DFD.
Context Diagram A context diagram is known as a “Level 0” data flow diagram. It sees the system as one main process, identifying the main data source and the main data flows into and out of this process. It does not consider data stores at this stage.
A level 1 diagram will break down the process into a number of sub processes showing how the data flows between these. Also at this stage data stores are shown and an indication of what data is stored.
Possible Exam Questions
The following is the context level Data Flow Diagram (DFD) for a Sixth Form College’s Registration system.
Students provide the College with their personal details, their GCSE results and details of the course being applied for. The College validates each application. If the application is invalid, a rejection letter is sent out. If the application is valid, an acceptance letter is sent out and the applicant is registered as a student and enrolled on the course. Data about each registered student and the courses he or she is enrolled on is stored in a file called Student. Data about each course is stored in a file called Course.
(b) In the box below, produce a level 1 DFD for this validation process[6]
(c) A computer system includes a user interface and it can carry out a number of processes. Explain each of the following terms.
User interface
Process [4]
(d) During systems development, programmers are responsible for writing the source code.
(i) Define the term source code. [2]
A program written in a high level language/assembly language … in human readable form/including comments/formatting/white space/meaningful identifiers It has to be translated/assembled/compiled before it can be executed
(ii) Describe three other responsibilities of programmers during systems development. [6]
1.
2.
3.
To document code … to make code more meaningful/readable … by including comments/meaningful identifi ers (2 × [1])
To test code … during module/integration/system testing/using black box/white box testing … following the test plan (2 × [1])
To debug code To detect/correct errors … discovered during testing (2 × [1])
(e) Describe the main features of the following methods of fact-finding. [6]
Observation
Users are shadowed … as they perform a particular task/their everyday tasks … to identify what their role entails/the data required/the processes
Interviews
Users are asked questions … on a one-to-one basis/in groups The interview may be structured/unstructured Follow up questions can be asked
(2) The following context level Data Flow Diagram (DFD) shows how home insurance claims are processed.[6]
Customer Claim Acceptance Home Insurance Claims Processing Receipt Rejection Each claim is processed as follows: The claim is logged and a receipt sent to the customer The claim is reviewed and is accepted or rejected Details of claims are held in the Claims file. In the box below, produce a level 1 DFD for this system as described above.
(b) Describe the role of each of the following during the development of an information system. [6]
The systems analyst
Carries out a feasibility study Liaises with the client/the users Identifies the user requirements/the (data) processing requirements Undertakes fact finding/interviews/observation/questionnaires /documentation sampling Defines the system specification
The programmer
Writes/produces the code ... from the module specifications/algorithms/flowcharts Tests the code/performs application testing/alpha testing ... using the test schedule/test plan/test data Debugs/corrects the code Documents code
(ii)
Explain what is meant by a non functional requirement[2]
(b) Non-functional requirement Specifies an additional condition the system must meet/a condition not specific to the particular application/a condition not specific to the hotel reservation system Example: R113 (2 × [1])
Explain what is meant by a functional requirement[2]
Functional requirement Specifies what the system must do for the specific application/a function or process which is part of the hotel reservation system/the activities that a system must perform for users
(c) A company sells its products globally from a single warehouse. The company requires a computerised stock control system to replace the current system. Evaluate the use of observation as a method of fact finding in this case. [5]
(3) The context (level 0) DFD for a sales order processing system is shown below.
When an order is received, the stock file and customer file are updated When a payment is received, the customer file is updated Produce a level 1 DFD for this system as described above. [5]
3 (b) One reason for the ‘software crisis’ was that many software systems were delivered over budget. Identify three other reasons that caused the ‘software crisis’. [3]
1.
2.
3.
Systems were not being delivered on time/late Developments in software were not keeping pace with developments in hardware/formal methods were not being used Software systems were becoming more complex Systems did not meet the user requirements/system specification The user interface did not match the users’ IT s
(c) A stock control system is required for a large and busy warehouse in which heavy equipment is located and retrieved. The systems analyst decides to use document sampling instead of observation as the fact-finding method. Evaluate the analyst’s choice of fact-finding method. [8]
Document sampling The aim is to identify the data the organisation needs, how this data flows throughout the organisation, and the volume of data Existing documents such as data collection forms, invoices, orders, receipts, reports are sampled to discover how data is input, collated, processed and output
Observation The analyst selects a representative sample of end users and shadows them as they perform their everyday tasks. The purpose is to identify the processes they carry out and the data they use or generate as they perform them, the competences required and the time taken
The candidate
• Describes the document sampling and observation methods accurately and concisely
• Clearly articulates an advantage or disadvantage of each method referring directly to the warehouse
• Uses appropriate Digital Technology terminology accurately throughout the response Presentation, spelling, punctuation and grammar are of a high standard.
(4) A fish and chip shop distributes its menu to customers. Customers can order food by telephone. The food is delivered to the customer’s home. Customers pay and receive a receipt. (i) Produce a context data flow diagram (DFD) for this system. [6]
[1] for the process name – ‘Fish and chip shop’ or equivalent [1] for Customer as data source 4 These may be combined [1] for Customer as data destination using one entity symbol [3] for all five data flows – [2] if one missing [1] if two missing
(ii) Explain how a level 1 DFD could be produced from a context level DFD. [4]
The main process will be expanded on/refined/broken down ... into the main sub processes Data stores will be identified Data flows will be identified