Analysis

Course Content Specification

Purpose, Scope and Boundaries

When performing the analysis stage of a project there are 3 things that  have to be considered first:

A quick reminder from Higher:

Purpose: a general description of the purpose of the software.  

Scope: a list of the deliverables that the project will hand over to the client and/or end-user, eg design, completed program, test plan, test results and evaluation report. It can also include any time limits for the project.  

Boundaries: the limits that help to define what is in the project and what is not. It can also clarify any assumptions made by the software developers regarding the client’s requirements.  

Feasibility Studies

Not every project is feasible

The purpose of a feasibility study is to investigate the issues regarding implementation of the project

The result of this report informs project managers on whether to proceed with further analysis of the project

Areas of feasibility investigated in the course will be

Economic Feasibility

Are costs within budgetary constraints of the company/organisation?

Cost-Benefit Analysis. This is a cost benefit analysis is a systematic process for calculating and comparing benefits and costs of a project.

This analysis has two purposes:

The main question being answered will the development costs outweigh the profits?

Benefits may be:

Time Feasibility

The time required to develop a new system must be within desired completion date and this date must be reasonable.

Legal Feasibility

The proposed system must comply with current laws 

Are any copyrights being infringed etc.? if so has permission been sought?

Technical Feasibility

The primary question for this aspect of feasibility is

“Does hardware and software exist for implementation and with acceptable performance.”

Particularly with the rise of mobile devices, aspects such as screen resolution, memory etc. has to be a consideration. 

Biometrics are being explored as a means of security

User Surveys

One definition of a user survey:

User surveys are a means of finding out how a system is likely to be used by a specific set of users, and who these users are likely to be. The answers user surveys provide must be relevant to the issues that will be important to the design team.

Ensure that you target the user group that will use the product! This information will assist you in creating the user requirements for the project.

Requirements Specification

Once the purpose scope and boundaries have been established then the requirements have to be established to detail the user and functional requirements.

Functional requirements: the features and functions that must be delivered by the system in terms of inputs, processes and outputs.

Software Dev Requirements Spec Worked Example

Purpose

The purpose of the program is to allow the end user to search for an item on an unsorted list of data. If a match is found, the program will display the row of data for the item.

Scope 

This development involves creating a modular program. The deliverables include: 

Boundaries 

End User Requirements

End users will expect:

Functional Requirements

Functional requirements are defined in terms of the inputs, processes, and outputs

Inputs

Processes

Output 

Constraints

The constraints that apply to this development are:

Database Dev Requirements Spec Worked Example

Purpose

GoGoGadgets.com is a company specialising in quirky and unusual gadgets that are available for purchase through its online catalogue. Before customers can make a purchase, they must first register with the GoGoGadgets website and be allocated a unique customerID.

Customers can browse the product range through an online catalogue. Each item is categorised as one of the following: Toys, Gizmos, Office Distractions, Personal Grooming, and Computer Accessories. All items cost less than £50.

A database is required to store details of customers, items, and orders. 

Scope

Boundaries

End User Requirements

End users (customers) will expect queries that enable them to:

End users (administrators) will expect queries that enable them to:

Functional Requirements

Inputs (customers)

Inputs (administrators)

Processes

Outputs 

Constraints

The constraints that apply to this development are: