Software Development

  Case Study

Investigating the Problem

Introduction

Investigating the Problem

What is the Problem at Present

State the Problem

Define how the Current System Works

What Does the System Need to Do?

State the Aims of the New System

Describe the Scope and Boundaries of the New System 

What Does the System Need to Produce?

The Inputs and Outputs of the System


Introduction

Objectives

This aim of tutorial is help you to understand the investigation phase of software development.  A case study will be used to demonstrate the steps involved in investigating a problem and producing a report for a client. After working through the tutorial, you should be able to produce a similar report for assignment 1.


Investigating the Problem

Most programs are written to solve a problem, to heighten the efficiency of some task.  For businesses, an increase in efficiency is desirable in order to compete and make money.

Clearly, when writing a program for someone, it is necessary to understand the nature of the problem. So, the first thing you need to do is investigate the problem.  This means gathering the necessary information so you can understand the problem clearly.  The questions that you need clarified through information gathering are:-

~~what is the problem at present?~~

      State the problem? 

      Define how the current system works? 

~~what does the system need to do?~~

      State the aims of the new system? 

      Describe the scope and boundaries of the system.

~~what does the system need to produce?~~

      What other systems does it need to interface with (inputs and outputs)

We shall look at these questions in more detail through the use of a case study. Here is part of an interview with the company director of Modern Carpets.

Case Study - Modern Carpets

Interview with John - Modern Carpets company director

Angela:  What sort of program do you have in mind?

John:  We need a more efficient way of calculating carpet costs for our customers.  At the moment, when a customer comes in to the shop, they see a carpet they like and the first thing they want to know is how much it would cost them to fit out a particular room.

Angela:  How do you work out the cost at the moment?

John:  We ask the customer for the dimensions of the room so we can work out how much carpet and underlay they need .  All calculations are done manually on paper. It would be nice to have a more efficient and quicker way of calculating costs so the sales people can quickly demonstrate how much different carpets would cost to the customer. We think a computer program would be helpful. Can you help us with this?


What is the Problem at Present

There are two task we need to carry out now we have interviewed the client. From the list given above we need to:-

   State the problem

   Define how does the current system works 

State the Problem

After speaking with the client, it is a good idea to clarify the problem by producing a problem definition.  In other words, writing down and explaining the nature of the problem. Here is the problem definition for Modern Carpets.

Case Study - Carpet Company

Problem Definition

Customers who come into Modern Carpet's shop want to know how much it would cost to  buy a carpet for a particular room in their house.  To calculate this, they need to know not only how large the room is (its length and width) but how much the carpet costs per square metre.  On top of that, they need to add in the cost of the carpet underlay and the cost of fitting.    

The director of the company thinks it would be a good idea for the store to have a program on its computers on which the sales people could demonstrate to customers how much different carpets cost.

Once the problem is defined,  you can show it to the client and see if the client agrees with your perception of their requirements and you haven't misunderstood anything.   

Define How the Current System Works

In most cases, when you develop a system it will replace an existing system.  An existing system may be a manual or computerised system which has outlived its usefulness. We need to investigate the current system to thoroughly understand how people go about their daily tasks and to be able to preserve any good features and replace inefficient features.

So, at this point, many interviews may be carried out with the client and the client's staff to find out about the current system.  The information gathered then has to be written down  and summarized in a report so that everyone can clearly see  a new system would be better.

Case Study - Carpet Company

The Current System - Report

Currently, if a customer asks how much a carpet would cost, the sales person needs to go through the following steps:-

  • find out the size of the room by multiplying its length by its width

  • find the cost per square metre of the carpet

  • find out if the customer wants economy or luxury underlay

  • multiply the cost of the carpet by the area of the room

  • multiply the cost of the underlay by the area of the room

  • multiply the cost of fitting by the area of the room

  • add together the cost of the carpet, underlay and fitting

This process is time-consuming.  Moreover, if mistakes in the calculations occurred the customer would not be happy about it. 


What Does the System Need to Do?

Now that we have stated the problem and explained the current system, we need to think about what the new system has to do.  In particular, we need to think about the following... 

      the aims of the new system

      the scope and boundaries of the system.

State the Aims of the New System

We must define the primary aims of the new system. It is important to carry this out right at the start because during the process of developing the software, we might lose track of the original reason why the client wanted the software.  Then the software might not do what the client wants.

When thinking about the aims, quite often we will need to read the problem definition over and over,.  This helps us to figure out what the aims are and to make a list.. 

Case Study - Carpet Company

The aims of the calculator program

  1. To provide the sales assistants with a more efficient way of calculating the cost of carpets.

  2. To improve the service to customers, giving a competitive edge over other carpet shops.

  3. To ensure the cost of carpets can be calculated quickly and accurately, which would encourage customers to buy, thus increasing sales.

Describe the Scope and Boundaries of the New System

What is meant by the scope and boundaries of a system?  When writing a piece of software, you have to consider where the system ends.  For example, will the software run on one or more workstations or will it run on a central server computer. Will your software have to interact with other software?  Is there a need for a central database?  Is the system networked together?  Can the system be accessed from outside the network. What operating system will the software be written for?  There are lots more questions like this.

Also, when writing software, you have to consider not only what the program will do, but what it won't do.  There are likely to be many features you could include in a piece of software if you weren't constrained by time and money.  You could probably think of lots of exciting features that could be included but you must ensure you stick to the essential features and don't add anything unnecessary.

Here are some points relating to the Carpet company system:-

Case Study - Carpet Company

The scope and boundaries of the system

  1. The software will run on stand-alone workstations.

  2. The software will run on the Windows operating system

  3. The software will have a graphical user interface

  4. A central database of carpet prices will not be a feature

  5. The system is not presently networked together and the software will not be accessible via a network


What Does the System Need to Produce?

All systems will need to take input from the user or from some other source such as another system or computer.  They will also produce output of some sort.  At this stage, it is necessary to define what the inputs and outputs of a system are.  It is not necessary to go into great detail at this stage, that will be for later. For now, we will need to briefly describe...

      the inputs of the new system 

      the outputs of the new system.

The Inputs and Outputs of the New System

Let's try and describe the inputs of the new Carpet Company system.

Inputs:-  

  • the length and width of the room needs to be input.  

  • The price of the chosen carpet is also needed.  

  • Economy or luxury underlay needs to be chosen

  • The cost of he underlay is always 1.75 per square metre, so this amount doesn't need to be entered.

  • The cost of the fitting always costs 2.00 per square metre, so this amount doesn't need to be entered.

Now, let's try and describe the outputs:-

Outputs:-  

  • the total cost of the carpet, including underlay and fitting 

We could draw a diagram showing the inputs and outputs.

 

 

 

   

  Unit Information

Assessment

Syllabus

Scheme of Work

Notes &Tutorials

Assignments

Quizzes

Books & Things

Links