Analysis
Course Content Specification
Identify the purpose and functional requirements of a problem, that relates to the design and implementation at this level, in terms of:
Inputs, processes, outputs
Describe, exemplify, and implement research for:
feasibility studies: economic, time, legal, technical
user surveys
Produce requirement specifications for end-users and develop:
end-user requirements
scope, boundaries and constraints
functional requirements
Purpose, Scope and Boundaries
When performing the analysis stage of a project there are 3 things that have to be considered first:
Purpose
Scope
Boundaries
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
Time
Legal
Technical
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:
To determine if it is a sound investment/decision (justification/feasibility),
To provide a basis for comparing projects.
The main question being answered will the development costs outweigh the profits?
Benefits may be:
Reduced running costs/improved efficiency
Reporting/Oversight facilities
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
GDPR
Copyright Designs and Patents Act
Computer Misuse Act…
If storing personal data about users etc. then the organisation must follow the GDPR principles
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
Are they accurate enough?
Does the hardware or software exist?
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:
a detailed design of the program structure
a test plan with a completed test data table
a working program
the results of testing
an evaluation report
Boundaries
The program will read the data (itemID, price, and number in stock) from a sequential file .
As the data is accurate, there is no need to implement input validation.
End User Requirements
End users will expect:
to enter an itemID while the program is running.
the data corresponding to the itemID to be displayed.
a user interface that is clearly labelled and easy to use for all user types.
Functional Requirements
Functional requirements are defined in terms of the inputs, processes, and outputs.
All inputs are imported from a sequential file and all outputs displayed on the screen.
The program is activated by double clicking on the file icon and then selecting “Run” from the menu.
Each process should be a separate procedure or function that is called from the main program.
Inputs
itemID
price
number in stock
Processes
read in data from an external file to a 2D array
sort the data in order of itemID from low to high
search the 2D array for the required itemID, based on the end-user input
Output
if a match is found, the data (itemID, price, and number in stock) will correspond to the end-user input
if no match is found, a suitable message will inform the end user
Constraints
The constraints that apply to this development are:
Python, Live Code or Visual Basic must be used to develop the program.
The working program will run on the Windows operating system.
The work must be completed within 8 hours.
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
This development involves creating a relational database. The deliverables include:
a detailed design of the database structure
a test plan with a completed test data table
a working database
the results of testing
an evaluation report
Boundaries
the database will contain a maximum of 10 000 items
each item will cost £50 or less
all items should be categorised as one of the following: Toys, Gizmos, Office, Distractions, Personal Grooming, and Computer Accessories
users must enter a valid e-mail address to register.
End User Requirements
End users (customers) will expect queries that enable them to:
register as a user and store their details in the database
search for items based on the category of the item
search for items based on the name of an item
sort items by price (low to high), price (high to low) or rating
End users (administrators) will expect queries that enable them to:
edit the price of items
edit customer contact details
add and remove details of individual items
remove details of customers from the database
view details of all orders placed each month
Functional Requirements
Inputs (customers)
register: user e-mail, password, password re-entered, firstName, lastName, address, and postcode:
search details: category
search details: itemName
sort details: field (price or rating) and order required (ascending or descending)
Inputs (administrators)
edit item details: itemID and price
edit customer details: customerID, address, postcode, and e-mail
add item details: ID, description, category, and price
delete item details: itemID
delete customer details: customerID
monthly orders: month
Processes
auto generate customerID whenever a new customer registers
queries to:
insert records into the Customer and Item tables
sort item details in order of price and rating
delete a specific customer and an item record from the database
edit records in the Customer and Item tables
search Item table
display details of all orders placed in a particular month
Outputs
confirmation of successful:
insertions
deletions
edits
answer tables showing details of:
sorted items (sorts)
required items (searches)
Constraints
The constraints that apply to this development are:
The Oracle MySQL server must be used to develop the database.
The working database will run on the Windows operating system.
The work must be completed within 15 hours.