SlideShare a Scribd company logo
S195215 13
REQUIREMENTS
ANALYSIS AND
CAPTURE
Software Design and Development Part 1
S195215
S195215@uos.ac.uk
Abstract
A requirements specification and supportingrequirements modellingmaterial,includingHigh Level Use
Cases,System Context Diagrams,Functional/Non-Functional Requirements Table, SwimlaneDiagram
and Interaction Models. This includes the requirements development and design process of the
specified softwaresolution.
S195215 1
Tableof Contents
Vision Statement......................................................................................................................................................................3
Team Leader Meeting .............................................................................................................................................................3
Idea Proposal........................................................................................................................................................................3
Initial System Requirements..................................................................................................................................................3
Stakeholder Analysis ...............................................................................................................................................................3
Stakeholder Table ....................................................................................................................................................................4
Initial Questions and Output: Scope and Feasibility ........................................................................................................4
Internal Network Customer: Tim Game...........................................................................................................................4
Team Leader: Richard Pilkington ......................................................................................................................................4
Scope Analysis...........................................................................................................................................................................5
Project goals .........................................................................................................................................................................5
Functions ...............................................................................................................................................................................5
Deadlines...............................................................................................................................................................................5
Costs.......................................................................................................................................................................................5
Possible Exclusions...............................................................................................................................................................5
Feasibility Analysis ...................................................................................................................................................................6
Understanding the Project .................................................................................................................................................6
Project Management ..........................................................................................................................................................6
Project Operation ................................................................................................................................................................6
Stakeholder Proposal ..............................................................................................................................................................6
Overview ...............................................................................................................................................................................6
Purpose and Focus...............................................................................................................................................................6
Development for Audience.................................................................................................................................................6
Stakeholder Engagement ...................................................................................................................................................6
Functional Requirements .......................................................................................................................................................7
Non-Functional Requirements ..............................................................................................................................................7
Project Risks Table ...................................................................................................................................................................8
Technical Background .............................................................................................................................................................8
Technical Restrictions..............................................................................................................................................................8
Elicitation of requirements .................................................................................................................................................10
System Context Diagram .....................................................................................................................................................11
S195215 2
Configuration Modelling......................................................................................................................................................12
Swimlane Diagram ................................................................................................................................................................13
Entity Relationship Diagram ...............................................................................................................................................14
Navigation Questions and Output.....................................................................................................................................15
Internal Networks Customer: Tim Game ......................................................................................................................15
Team Leader: Richard Pilkington ...................................................................................................................................15
Content Questions and Output..........................................................................................................................................15
Internal Networks Customer: Tim Game ......................................................................................................................15
Navigation Modelling ...........................................................................................................................................................16
Customer............................................................................................................................................................................16
Management.....................................................................................................................................................................16
High-level use case: Cockburn Tables ...............................................................................................................................17
Adding A User....................................................................................................................................................................17
Checking A Room ..............................................................................................................................................................18
Adding A Location With Rooms......................................................................................................................................19
Requirements Conclusion....................................................................................................................................................20
Bibliography ...........................................................................................................................................................................21
S195215 3
Vision Statement
After a year of being in a software development team, multiple new features have been tested and developed for
our many internal customers in the organisation. The software itself is a centralised inventory system, holding
hundreds of thousandsofspecific data for customers to easily access and update when needed. I knew from my
experience working with databases that I wanted to create a solution to automate and speed up a process of
accessing this data for one of our customers.I understood that to achieve this I would need to actively
participate and communicate with my target customer to deeply understand their problem and develop a fast,
effective solution that is safe and reliable to use. This would encourage me to schedule frequent meetings with
the customer, suggesting a development technique such as ‘agile’ to be used; with flexible release cycles to
ensure the customer is satisfied with each small requirement.
Team Leader Meeting
Following my initial vision for what solution I wanted to pursue,I decided to organise an informal meeting with
my team lead, Richard Pilkington to discuss the situation further, present to him my idea and ask about any
projects I could potentially take on to satisfy this.
Idea Proposal
After discussing my vision with him, Richard Pilkington soon suggested a feature that one of our customers
(Internal Networks) had suggested 2weeks ago to him. This feature was a room checker. Within our team’s
software (Blueprints) we hold large amounts of information on locations; of which have many rooms. These
rooms need scheduled checks performed to ensure they are functioning properly. Internal Networks currently
have to manually search for rooms that need checking in an excel spreadsheet,and manually fill out forms and
send them off to be updated.This overall process can take weeks to complete, suggesting a substantial
inefficiency in the way they work. This feature was postponed due to the nature of the software we currently
develop. Blueprints is an inventory system, Richard Pilkington explained that this complexity would not fit into
our current software and therefore I could develop an external solution that communicates with Blueprints to get
the newest information on locations and rooms. This software would therefore be separate from my team but
would benefit one of our customers without adding complexity to our current software’s code.
Initial System Requirements
Since the previous discussion with my team leader Richard Pilkington, I have developed a better understanding
of the project required for the customer and have decided to analyse what requirements could be necessary for
the development of this project. First requirement I soon identified would be the need for a web solution. The
front end will need to be separate from Blueprints therefore will need to be designed and optimised for th e
purpose of searching and updating rooms. This along with the ability for the populated database to communicate
and interact with the front end would allow the seamless ability for updating and checking rooms by the visiting
customers. Furthermore, with a room checks page seeming likely, it would make sense to accompany this with a
user’s page to control what permissions people have when visiting the solution. These initial ideas will be
developed further after meetings with all the stakeholders have taken place.
Stakeholder Analysis
My main contact and stakeholder would be my team leader Richard Pilkington, because I am going to be the
lone developer of this solution for my current team, therefore developing the solution directly impacts on the
team; both in productivity in current work and customer interaction. In addition, I will stop development for 4
current customers (yet to be determined) over this time period. Along with this my line manager and team
manager will be responsible for the funding of the project, with both of them responsible for allowing the
customers money to be used towards my time on this solution. Due to it being a requested feature by the
customer, this was authorised and once further meetings with my determined stakeholders’ have occurred, full
details on project scope and feasibility will be decided. The most important stakeholder would evidently be the
customer I am developing the solution for, Internal Networks. This is a large group of Network Engineers with
Tim Game being the delivery manager and my main stakeholderfrom Internal Networks, representing the larger
customer base. Furthermore, Gary Hayter will be an important stakeholder in that he will facilitate and grant me
access to server use and facilities throughout the project. I will need to present the projection and size of the
information being stored so that the necessary storage can be allocated on a secure server on his request.
S195215 4
Stakeholder Table
Stakeholder Relationship Participation Acceptance Criteria
Richard Pilkington Team Leader In charge of Blueprints,
authorises time schedule
Finish developing software
on time, propose project
Simon Weeks Line Manager Manages my job role and
performance review
Make sure I satisfy
quarterly goals in work
Rupert Voelcker Team manager In charge of finance and
authorisation of project
Make use of budget and
propose developed idea
Tim Game Head of Internal
Networks
Main point of contact for
customer
Achieve requirements and
ensure customers satisfied
Gary Hayter Software Facilitator Handles server hosting
for software projects
Propose feasible request for
server load and access
Figure 1, StakeholderTable
Initial Questions and Output: Scope and Feasibility
I decided to schedule meetings with the main customer (Tim Game) and a follow up discussion with team leader
(Richard Pilkington) to discuss and develop initial questions on project requirements. This was done to develop
my understanding of the requirements for the project and to ascertain the desired outcome each of the different
stakeholders require from this solution.
Internal Network Customer: Tim Game
- We will need to know when a room needs checking, how will this be achieved?
Once I have discussed with the customer how often rooms need checking, an alert system(via email or front-
end notification) can be setup for requested individuals; alerting them of room checks. This along with a visual
status change on the specific room will allow customers to search for unchecked rooms within the database.
- We only want specific people to have the ability to delete rooms, how can we setup permissions?
A separate page can be created specifically for userpermissions. Every person in the company has a unique
identifier, this can be used to log into their account with set permissions. This could be further developed
through the front end, allowing specific individuals modification abilities over other people’s permissions (read,
write, execute).
- Information on rooms are location specific and require to be linked somehow, will this be feasible?
A separate linked table can be created to allow rooms to have location identifiers within the database. This could
be developed,allowing users to view a specific location and see all rooms within that location. Specific users
can then have the ability to create, delete or edit this information.
- Navigation throughout the website is key to achieving a fast solution, how will this be optimised?
A navigation bar at the top of the page will be essentialto allow the user to switch between pages easily while
browsing the site. Pages such as ‘Rooms, Locations, Users, Home’ should be represented as buttons for the user
to efficiently switch between activities. Along with this all users will be presented with a login page at launch,
which has to be designed appropriately and fast, encouraging users to choose my solution over their old way of
working.
Team Leader: Richard Pilkington
- With the information being on our team’s software (Blueprints), how do you intend to use it?
As my solution will pull data from Blueprints, I will need to create automated import scripts to fetch this
information and upload it onto my database for the room checker. This information will need to be regularly
updated to ensure the customer (Internal Networks) has access to the newest data for locations and rooms on
their network.
- Time scale requirements are important in knowing the work load, do you know when you’ll have one?
Hopefully once the stakeholderproposal meetings have been conducted,the customer and I will begin to have a
clearer understanding ofwhat needs doing and how long the development process may take. At this point
designing and interacting closely with the customer to ensure a good understanding of the project is essentialto
progress the development of the solution.
S195215 5
Scope Analysis
With the size of the project I am undertaking increasing following each customer meeting, it is very beneficial
to review and discuss the intended scope for my solution.This will allow me to understand the requirements
better and encourage self-review of my time management and intended design of the solution. Deadlines are
mostly populated by stakeholder meeting for the upcoming weeks to decide a more specific approach to the
project.
Project goals
- To allowInternal Networks to access and viewall location and roomdetails
- To allowInternal Networks to check rooms and update their status accordingly
- To alertspecific Internal Network users if a room fails it’s check and change its status accordingly
- To connect rooms to their specific locationsvia a unique identifier,allowingusers to search for them
- To ensure only users with correctpermissions areableto edit and manipulatethe information.
- Make surethe login procedure to the website is fastand secure.
Functions
- A navigation bar displaying all buttons to give the user the ability to navigate the website
- A home page displaying information regardinghowto use the website and all its functionality
- A room page displayingall rooms with their correspondingdetails
- A location pagedisplayingall locations with their correspondingdetails
- A user’s page displayingall users’permissions with their correspondingdetails
- A show page displayingfurther details on each specific location or room
- Edit buttons on each room/location show page allowingmodification privileges on the information
- A logout button on the navigation bar allowingtheuser to sign out of the website.
Deadlines
- Interactingcustomer (Tim Game) stakeholder proposal –6th March 2019
- Team leader (Richard Pilkington) stakeholder proposal –8th March 2019
- Software Facilitator (Gary Hayter) stakeholder proposal –11th March 2019
- Navigation questions and output – 12th March 2019
- Design and specifications document - 15th March 2019
- Development schedule: TBD (will be discussed further in this report, see contents page 1)
Costs
- Further stakeholder meetings with Software Facilitator (Gary Hayter) and team manager (Rupert
Voelcker) required to determine cost and budgeting of overall project.Server infrastructureand
configuration design required prior to this meeting.
Possible Exclusions
Some requirements that have initially been discussed may best be left out of the development cycle of this
current project. These requirements could be picked up as additional features later in the year or may not fit the
intended purpose of the solution.
- An alertsystem that notifies all requested users whenever a room check failsexternally.
This could be a helpful feature however would require separate functionality to the initial project I set out to
create. Because this is a low priority feature this could be added in the future.
- An external portal that allows accessthrough Wi-Fi,allowinghomeuse and out of site access.
In the short term, this feature is a definite exclusion. Without a lot of time spent ensuring the design and
execution of this feature is safe and secure, this is not something to begin considering and is definitely a feature
for the future. The vast majority of the time the customer will spend accessing the site through the LAN portal,
therefore this is also considered a low priority feature.
S195215 6
Feasibility Analysis
With stakeholder proposals approaching I understand the need to rationalise both the functionality of my project
and the projected size of the overall software. Feasibility Analysis helps me achieve this prior to my upcoming
meetings, allowing me to reflect on the developed requirements I have so far.
Understanding the Project
The project so far consists ofa database containing information surrounding rooms within locations around the
country.The customers’ requirements are built around this data set, for example they require the ability to view
rooms, check rooms, create and delete rooms etc. This project should solely be based around appealing to this
requirement; therefore, the UI should view and manipulate rooms effectively, the database should be fast to
search and navigate, with the information being stored in sensible, consistent values.
Project Management
Along with a Development schedule soon to be decided (after stakeholder proposal) I understand the need to
organise and develop the solution in a well-structured approach.From previous experience in a development
team, the use of a kanbanboard is very beneficial to working in an agile way; a development process well suited
for this project due to the necessity for close communication with the customer. Once the customer and I have
discussed what features they would like to see first, I can visually write these into small tasks,(also known as
cards) to begin a process line that will encourage small interval progression.
Project Operation
As the lone developer of this solution, I will need to operate in a manner that will benefit both me and the
customers requirement simultaneously. I have already discussed the protentionalfor weekly Skype meetings
with a customer representative to prevent the risk of misinterpreted requirements which would waste time and
resources for both sides of the project.
Stakeholder Proposal
Overview
This software solution will allow permitted users to have individual permissions to either view or edit rooms on
a specific location. These rooms will be automatically updated from the Blueprints inventory systemwhich
contains live location/room information that is updated weekly from appropriate sources.This software solution
will be called “Room Checker” and will offer the ability to view all room information, including the check
status ofa room, “Passed,Failed, Required or Fixing”. Room checks will be scheduled on a regular basis,with
permitted users having the ability to check ‘required’ rooms. Rooms will have additional information that will
give users the ability to locate that room and send necessary people to fix the problem.
Purpose and Focus
The main purpose for this software is to allow Internal Network users to view room information easily, this will
be achievable in a central inventory that will help speed up the process of room checking and allow the users to
access consistent,up to date information.
Development for Audience
The development process will be built around the customers interaction with the software each step of the way.
This agile approach will allow small incremental changes to be reviewed and discussed with the underlying
customer, to closely relate all the development to the necessary requirements of the user.
Stakeholder Engagement
A development schedule will soon be designed after further planning of the software solution to allow
stakeholders to understand the approach needed to achieve the solution. This schedule will be accompanied by
suitable diagrams and design graphs for each important internal stakeholderto ensure they understand what I
require from them and to give them an understanding ofthe given approach. For example, a configuration
diagram will be created to outline the server interaction and safety precautions needed for using the services
under Gary Hayter.
S195215 7
Functional Requirements
This table outlines the functional requirements and approach to achieving the customers’ needs for this solution.
It covers what necessary criteria needs to be met along with actions to complete these tasks. Use of MOSCOW
allows me to determine the priority of the requirements along with understanding whetherthe task is achievable
within the project lifetime. Inspiration and design layout achieved came from reading ‘System Requirements
Engineering’, Loucopoulos, P. (1995)
Figure 2, Functional RequirementsTable
Non-Functional Requirements
This table outlines the non-functionalrequirements and approach to developing an optimised solution. This will
cover the security,performance and interface requirements for the customer interacting with the software
system. Inspiration and design layout achieved came from reading ‘Non-functional requirements in software
engineering’, Chung, L. et al. (2000)
Figure 3, Non-Functional RequirementsTable
(Files attached externally in submitted folder if links do not work)
- Functional Requirements Table
- Non-Functional Requirements Table
S195215 8
Project Risks Table
After the scope and feasibility analysis I decided to outline the possible project risks that I may encounterduring
the development of the software system.
Risk Early in the Project Late in the Project Customer
Impact
Chance of missing
deadlines
Discuss with customer the reason
for changing deadlines, agree to
new terms
Change task approach to fit in
necessary requirements for the
discussed deadlines
Medium
Requirement is
misinterpreted
Discuss with the customer the
correct requirement and
understand where it went wrong
Ensure regular meetings to lower
risk of time being wasted on the
wrong requirement
High
Requirements
change
Understand new requirements and
attempt to implement them
Analyse how this will impact the
rest of the project and discuss with
stakeholders
Medium
Budget is too low Calculate the projected budget
and discuss with the Software
Facilitator or Team Manager
Understand why this happened
and analyse the rest of the project
to prevent reoccurrence
Low
Experience lacking
for requirements
Seek help from more experienced
team members who may help
Discuss requirements with
customer to ensure they are
suitable for my skillset
Low
Figure 4, Project RisksTable
Technical Background
I have currently been in software development for around a year and a half. During this time and within my
current software team, I have spent the majority of my time writing in Ruby and using Ruby on Rails to develop
our web application. Because of my team’s software being a web application, I have past experience writing in
html, designing front end logic for customers similar to the one I have for this project.
The software my team works on is a physical inventory, and because of this I have practical experience in
manipulating and querying a database in a safe and reliable manner. Good software practices have been a big
influence in the way I develop code. I have only ever worked in an agile way and so far, has suited the solutions
I have needed to develop with a software team. Along with this I also understand the benefit of fully test-driven
development and intend to implement this style of software development into my project. From my own
experience, using VIM as an integrated development environment (IDE) will benefit me due to the familiarity of
the software and my proficiency using it. Furthermore, my development team uses mac’s and therefore I will
intend to use a mac machine to undergo this project, developing the solution on a Linux server, to ensure
compatibility when connecting via internal connections.
Lastly, I have also spent a lot of time developing software with the use of version control. Github and
supporting software such as SourceTree and CCmenu to visualise branches make development processes far
easier. When developing this software for the customer, I intend to use the same practices as Agile development
usually encourages many small tasks and changes,which can conveniently be represented as branches,
preventing any changes on master running the risk of breaking the system.
Technical Restrictions
From my first ever day being in software development, I have been in a team that had already developed a well-
functioning database solution.Because of this I have never personally had the experience to create a database
from scratch, therefore this will be completely new to me. However, I believe I have the experience and skill to
achieve this requirement, I will make sure to allow myself extra time as whilst learning there is the potential for
me to make mistakes on the way, and I do not want to miss the deadline for my customer. Secondly, I’ve never
been responsible for a project without team members to contribute with me. I will have to take on the
responsibility as the developer to interact with stakeholders and the customers it’s aimed at, as well as manage
any difficulties that will occur, something that until now I have only observed. This is an exciting opportunity
for me to put my skills to practical use but will be technically demanding. Due to my lack of experience in front
end design,I have read software books to help understand the best practices taken to achieve good front end
design,one of these books was ‘The elements of user interface design’(Theo Mandel, 1997) which emphasised
the importance of front-end testing as even things you can’t see visually wrong with the interface could still be
wrong in design.
S195215 9
S195215 10
Elicitation of requirements
These tables are the outcome of a stakeholder interaction earlier this week where we brainstormed all purposeful
interactions that could occur with the system.This was done to achieve a clearer vision of the overall system
purpose and the way data should be represented to best suit the interacting sources. Design of these tables below
was inspired by the book ‘Requirements Engineering: Fundamentals, Principles, and Techniques’, Pohl, K.
(2010)
Objects Surrounding the System
Management External Services Partners Software Developers General Users
Internal support
systems, e.g.
Finance, HR and
wellbeing
Physical locations
and rooms around
the world
Company’s whom
location and room
information is stored
Development tools,
customer support,
testing tools,
Hardware and
infrastructure
services
Web browsers, User
credentials, VPN
accessibility
Objects Produced by the System
Management External Services Partners Software Developers General Users
Export files for
reviewing and cross-
checking data for
reliability checks
External data
sources used to
import up to date
information on
locations and rooms
Ability to export file
through the system
to receive text file
information on
specific rooms
Server logging and
auditing information
based on the systems
front and back end
Customer
permissions page
with user access and
information
Objects Used by the System to Perform its functions
Management External Services Partners Software Developers General Users
Advertisement on
the systems front-
end, company
branded logo,
recognition
Export file of edited
information,
Information on
rooms requiring
service
Logging information
on their room status
Server and database
systems to present
data on the system.
Customer interaction
on the front end for
functionality, e.g
buttons and search
fields.
Figure 5, Requirements Elicitation Table
S195215 11
System Context Diagram
A systemcontext diagram felt necessary in order to visualise the main interactions
that take place throughout the given systemfor each external entity. This will be
used in future meetings with stakeholders in order for them to fully understand
their interactions with the systemand what services it can provide to them.
External
Services
= Input and Output
= External Entity
= Interacting System
Customers
Product
Developers
Management
Room
Checker
System
Note: Managers can also act as
customer entities, interacting with
full permissions on the system.
Note: SystemDevelopers can also
act as customer entities for testing
and user permission editing.
Figure 6, System Context Diagram
S195215 12
Configuration Modelling
Figure 7, Configuration Model
S195215 13
Swimlane Diagram
A Swimlane diagram helps visualise important processes within the system. This helps the customers
understand howeach main interactor contributes towards the system outcome. This is an illustration for the
process of room checking, showing how the editing of information will determine the output taken for the
system. I decided to design this swimlane diagram after understanding the importance of representing system
processes this way from the book ‘Validation of Business Process Models Using Swimlane Diagrams.’, Sauter,
V,L. Jeyaraj, A. (2014)
User Checking Room Room Checker System External Room Service
Begin Room Check
Takes user to roomcheck form
Edits room check information
Changes parsed, database queried
Room updated, status changed
External request form submitted
Changes
invalid
Status is Failed
Service individual sent to fix
room
Taken backtoRoomindex page
Status isn’t Failed
Status is Passed
Room updated, status changed
Figure 8, Swimlane Diagram
S195215 14
Entity Relationship Diagram
After gathering a clearer understanding ofwhat the requirements are from my main customer, I thought it would
benefit the stakeholders to visualise how the data would layout undereach resource. Below is an Entity
Relationship Diagram used to represent the data fields that each resource may hold. This helps both the user
visualise and understand the information they will be handling on the systemand helped me acknowledge the
scope and size of the data required to make this work. Below is an initial draft of what could potentially be held
within the system. Example diagrams helped me decide how best to represent my information on my system,
one example was found in this book, ‘The Entity Relationship Model – Toward a unified view of data.’, Chen,
P,P. (1976)
This diagram will be presented to the Internal Network representatives including my stakeholder Tim Game on
the 12/03/19 to discuss navigation and content questions and address what information may be required on the
final system.
Figure 9, Entity Relationship Diagram
S195215 15
Navigation Questions and Output
As content designs and use case tables are required soon,I thought it would be in the best interest of my two
main customers to discuss the requirements they see important for navigating the front end of the system.These
are some of the more productive navigation question and outputs gathered from the meeting.
Internal Networks Customer: Tim Game
- How will we navigate through locations and find the rooms attached to it?
The navigation bar will have a resource drop down menu allowing the userto access either locations or rooms.
After viewing the list of locations that the user has access to,they can click on a specific location which will
showall connected rooms under that location with their corresponding information.
- Managers will require the ability to export the data into a csv formatted file, how will we do this?
Managers will have permissions to request automated exports from the system,which will email out the updated
information to specific users through an export script.
- If I find a specific room that needs checking, how will I check the room?
Users that have permission to edit rooms will have a visible button “Check Room” that allows them to go
through the standard process of checking. This can then be submitted which will update the rooms in formation
and alert external services if necessary (see swimlane diagram for visual representation pg. 13).
- What process will take place in order for the internal network users to login securely?
Users will be required to enter their EIN (unique identity) code through an LDAP (Lightweight Directory
Access Protocol) secure login portal that will require the user’s internal password.Using this allows full
information on who logs into the systemand ensures all users are registered under the company’s system.
Team Leader: Richard Pilkington
- How will developers and manager permissions allow them to modify users?
Every user will have ‘view’, ‘modify’ or ‘none’ on each resource in the system. One of these resources will be
the users page.If access is given and modify permissions are enabled, that userwill have the ability to change
any users’permissions on the system. If mistakes are made, they can always be fixed back end by a developer.
To minimise this only trusted users will have this ability to change users.
- How will you develop a front end that can be navigated consistently across multiple browsers and
platforms?
The front end will probably be developed using a library such as Bootstrap that is optimised for multi-platform
web design.This is because the site requires to be accessible and functional on a range of machines used in the
workspace, therefore the navigation and button functionality will be designed and tested for this purpose.
Content Questions and Output
Internal Networks Customer: Tim Game
- How will we know what room information relates to what location?
A hierarchy containing rooms under locations will be kept in mind when developing the database tables for this
project. This will therefore link all corresponding rooms to their location, making it easy for me to display on
the front end the relationships they share. Each object in the system(room, location, user etc.) will have their
own show page, displaying all information possible.If the room is attached to a location, it will be displayed
here with a linkable trace to the location showpage.
- When we receive new location room data, how will we update the system?
Because were importing all the information from Blueprints (my teams’ software), the information will still be
required to use inside Blueprints. Then this information will automatically be pulled into the Room Checker.
- If an export is requested of the information in Room Checker, how will this be formatted?
The data will be exported into a csv file with delimiter separations for each field undera specific room or
location. This will allow quick and easy formatting of the export in software such as excel for windows or
numbers for mac which can decipher the delimiters and separate the information into its suitable headers and
rows.
S195215 16
Navigation Modelling
High level navigation use cases to represent the main interactors and the parts of the systemmost likely to
utilise.
Customer
Interactions with read only permissions, (and check room permissions):
Management
Interactions with all permissions across the system (Admin):
Use
Search Bar
Show Room
Page
Enter
Homepage Export file
Show Location
Page
Log
in
Change
password
Edit User
Info
Change
personal Info
Use
Search Bar
Show Room
Page
Edit User
Info
Check
Room
Enter
Homepage Export file
Change
password
Change
personal Info
Log
in
Edit
Rooms
Check
Room
Edit
Locations
Edit All
Users
Add/Remove
Rooms
Add/Remove
Locations
Show Location
Page
S195215 17
High-level use case: Cockburn Tables
To elaborate on the main scenario’s and functions of the system,a Cockburn use case table seemed appropriate
to give a full understanding ofwhat can take place on the website. The tables below will cover the main
interactions the systemis designed for, allowing me and the stakeholders a better understanding ofthe intended
features. I had not heard about Cockburn tables until reading one of his studies based on the template he
invented. This helped me layout the tables below; the book was called ‘Basic Use Case Template.’, Cockburn,
A. (1998)
Adding A User
Goal in Context To add a user to the system, setting their credentials, permissions and ownership
of locations
Preconditions User with the ability to view and edit users is necessary,along with a connection
via LAN or VPN.
Trigger The User decides to add a new user to the system
Scenario 1 - User navigates to the Room Checker homepage
2 - User selects ‘User’ resource from the navigation bar
3 - User selects ‘Add User’ button on the ‘Users’ show page
4 - User enters the required information about the User
5 - User selects the permissions for the User they are creating
6 - User proceeds to click ‘Submit’ button
Exceptions 1 - User presses back on their browser at any stage of the scenario
2 - User enters invalid User information
3 - User cannot be found under the LDAP server logs
4 - Customer navigates away from the User page at any point
Priority Low priority, useful but not main functionality of the system
When Available Aimed to be first release,maybe in beta version for a while as a lot of
functionality is required
Frequency of Use Credentials used very often for logins, editing user used very rarely
Channel to Actor Through a Personal Computer or mobile with LAN or VPN connectivity
Open Issues 1 - If the user enters the incorrect information, how will this be handled?
2 - If the user does not fully fill out the user, how will the system react?
3 - If the user is not found on the LDAP system, how will this be addressed?
S195215 18
Checking A Room
Goal in Context To select a room on the database,then proceed to check that room, changing its
status accordingly
Preconditions Appropriate user permissions should be granted, user should be logged in with
EIN credentials securely and through a LAN connection
Trigger The user decides to check a room while accessing the website
Scenario 1 - User navigates to the Room Checker homepage
2 - User selects ‘Rooms’ resource from the navigation bar
3 - User selects a specific room that requires checking
4 - User clicks the ‘Check Room’ button on the ‘Rooms’ show page
5 - User enters the required information
6 - User proceeds to click ‘Submit’
Exceptions 1 - User presses back on their browser at any stage of the scenario
2 - User enters invalid check information
3 - Customer navigates away from the check page at any point
Priority High priority, main functionality of the software solution
When Available First available release of software,fully functioning
Frequency of Use Fairly regularly, customers main feature
Channel to Actor Through a Personal Computer or mobile with LAN or VPN connectivity
Open Issues 1 - If the user enters the incorrect information, how will this be handled?
2 - If the user does not fully fill out the form, how will the system react?
S195215 19
Adding A Location with Rooms
Goal in Context To add a Location to the database,along with its corresponding Rooms and
information
Preconditions Appropriate user permissions should be granted, user should be logged in with
EIN credentials securely and through a LAN connection
Trigger The user decides to create a Location with Room information inside it
Scenario 1 - User navigates to the Room Checker homepage
2 - User selects ‘Locations’ resource from the navigation bar
3 - User clicks the ‘Create Location’ button on the ‘Locations’ show page
4 - User enters the required information for the Location
5 - User clicks ‘Add a Room’ button on the ‘Create Location’ page
6 - User enters the required information for the Room
7 - User proceeds to click ‘Submit’
Exceptions 1 - User presses back on their browser at any stage of the scenario
2 - User enters invalid check information
3 - Customer navigates away from the ‘Create Location’ page at any point
Priority High priority, important functionality of the software system
When Available First available release of software, most functionality should be present
Frequency of Use Very regularly, used by most managers
Channel to Actor Through a Personal Computer or mobile with LAN or VPN connectivity
Open Issues 1 - If the user enters the incorrect information, how will this be handled?
2 - If the user does not fully fill out the form, how will the system react?
Figure 10, Cockburn Use Case Tables
S195215 20
Requirements Conclusion
Overall, the final development design and requirements specification achieved for this software solution has
reflected the effectiveness of using design techniques as demonstrated above to work alongside the customer
and suitable stakeholders. Diagrams and visual representations ofdata in tables played an important role in the
customer understanding the systemand therefore elaborating their requirements for me to fully achieve their
desired goals in the software. Since starting this assignment, I now have a clear vision of what the customer
wants from me and how I intend to go about achieving those requirements and some of the challenges that I will
face along the way.
Not only has this document helped me and the customer understand the project, but it has also allowed me to
critically assess my own design decisions throughout this time. For example, for the configuration model (Pg.
10), I suggested a public connection to the software’s back-end system believing this would act as one of the
three approach scenarios. However, after further meetings with the customer, along with creating the non-
functional requirements I realised for security and safety reasons,it would benefit the systemmore to make the
site LAN and VPN access only. This is because the main interactions the customer has with the site will be over
a local area network, therefore risking the chance of information being leaked through a systembreach over
insecure Wi-Fi connections seemed unnecessary.
This development of the security side of the systemshows how effective critically analysing and representing
the software project in diagrams and tables is. This example and countless more have nurtured how the system
are presented as what its current form is, which is a drastic improvement in what it looked initially.
Finally, I intend to utilise this document in the upcoming months to achieve my software solution and,when
necessary,develop on the current system when obstacles occur and reflect on mistakes made. With this,I hope
to achieve an effective, and well-designed software systemto both satisfy the customer, and achieve
maintainability within the software team for future development requirements and new customers.
S195215 21
Bibliography
Mandel, T. (1997) The Elements of User Interface Design. 1st edition. John Wiley & Sons, Inc.
OWASP, Level 1 Application Security Verification Standards [Internet]Available at:
https://www.owasp.org/index.php/Category:OWASP_Application_Security_Verification_Standard_Project
(Accessed:11th March 2019)
Loucopoulos,P. Karakostas, V. (1995) System Requirements Engineering.1st
edition.McGraw-Hill, Inc.
Chung, L. et al. (2000) Non-functional requirements in software engineering. 1st edition. Boston,MA : Springer.
Pohl, K. (2010) Requirements Engineering: Fundamentals,Principles,and Techniques.1st edition. Springer
Publishing Company, Inc.
Sauter, V,L. Jeyaraj, A. (2014) Validation Of Business Process Models Using Swimlane Diagrams. 1st edition.
Write State University
Chen, P,P. (1976) The Entity Relationship Model – Toward a unified view of data.1st
edition.ACM, New York.
Cockburn, A. (1998) Basic Use Case Template. 1st
edition.Independent Researcher

More Related Content

What's hot

Software Engineering ppt
Software Engineering pptSoftware Engineering ppt
Software Engineering ppt
shruths2890
 
Brd template
Brd template Brd template
Sandip.Basak_Resume_9804277207_PT
Sandip.Basak_Resume_9804277207_PTSandip.Basak_Resume_9804277207_PT
Sandip.Basak_Resume_9804277207_PT
Sandip Basak
 
CI/CD Tools Universe: The Ultimate List
CI/CD Tools Universe: The Ultimate ListCI/CD Tools Universe: The Ultimate List
CI/CD Tools Universe: The Ultimate List
Plutora
 
Clarizen analyst-review-october-2011
Clarizen analyst-review-october-2011Clarizen analyst-review-october-2011
Clarizen analyst-review-october-2011
GetApp
 
Resume lavakush kumar shukla
Resume   lavakush kumar shuklaResume   lavakush kumar shukla
Resume lavakush kumar shukla
lavakush
 
Working Procedure SAP BW Testing
Working Procedure SAP BW TestingWorking Procedure SAP BW Testing
Working Procedure SAP BW Testing
Gavaskar Selvarajan
 
JBoss Application Server - Curso JBoss JB366
JBoss Application Server - Curso JBoss JB366JBoss Application Server - Curso JBoss JB366
JBoss Application Server - Curso JBoss JB366
César Pajares
 
Ankur yadav - resume
Ankur yadav - resumeAnkur yadav - resume
Ankur yadav - resume
Ankur Yadav
 
Sd pragathi template collection processing
Sd pragathi template   collection processingSd pragathi template   collection processing
Sd pragathi template collection processing
Mohammed Azhad
 
GenRays Network Chart 1 (1)
GenRays Network Chart 1  (1)GenRays Network Chart 1  (1)
GenRays Network Chart 1 (1)
Raul A. Reyes
 
sg247934
sg247934sg247934
sg247934
Kenneth Haas
 
Sap implementation
Sap implementation  Sap implementation
Sap implementation
Amarendra Munipalle
 
SAP Business ByDesign 2011- November 2020
SAP Business ByDesign 2011- November 2020SAP Business ByDesign 2011- November 2020
SAP Business ByDesign 2011- November 2020
Green Berry
 
New Microsoft Word Document.docx
New Microsoft Word Document.docxNew Microsoft Word Document.docx
New Microsoft Word Document.docx
AbelAdisu
 
Ascp training manual_v1.2
Ascp training manual_v1.2Ascp training manual_v1.2
Ascp training manual_v1.2
Charan Reddy
 
Daffodil Software-Sharepoint Capability Document
Daffodil Software-Sharepoint Capability DocumentDaffodil Software-Sharepoint Capability Document
Daffodil Software-Sharepoint Capability Document
Ashok Surendran
 
Sd pragathi template tolling
Sd pragathi template   tollingSd pragathi template   tolling
Sd pragathi template tolling
Mohammed Azhad
 
A roadmap to_success_in_capacity_management
A roadmap to_success_in_capacity_managementA roadmap to_success_in_capacity_management
A roadmap to_success_in_capacity_management
Metron
 

What's hot (19)

Software Engineering ppt
Software Engineering pptSoftware Engineering ppt
Software Engineering ppt
 
Brd template
Brd template Brd template
Brd template
 
Sandip.Basak_Resume_9804277207_PT
Sandip.Basak_Resume_9804277207_PTSandip.Basak_Resume_9804277207_PT
Sandip.Basak_Resume_9804277207_PT
 
CI/CD Tools Universe: The Ultimate List
CI/CD Tools Universe: The Ultimate ListCI/CD Tools Universe: The Ultimate List
CI/CD Tools Universe: The Ultimate List
 
Clarizen analyst-review-october-2011
Clarizen analyst-review-october-2011Clarizen analyst-review-october-2011
Clarizen analyst-review-october-2011
 
Resume lavakush kumar shukla
Resume   lavakush kumar shuklaResume   lavakush kumar shukla
Resume lavakush kumar shukla
 
Working Procedure SAP BW Testing
Working Procedure SAP BW TestingWorking Procedure SAP BW Testing
Working Procedure SAP BW Testing
 
JBoss Application Server - Curso JBoss JB366
JBoss Application Server - Curso JBoss JB366JBoss Application Server - Curso JBoss JB366
JBoss Application Server - Curso JBoss JB366
 
Ankur yadav - resume
Ankur yadav - resumeAnkur yadav - resume
Ankur yadav - resume
 
Sd pragathi template collection processing
Sd pragathi template   collection processingSd pragathi template   collection processing
Sd pragathi template collection processing
 
GenRays Network Chart 1 (1)
GenRays Network Chart 1  (1)GenRays Network Chart 1  (1)
GenRays Network Chart 1 (1)
 
sg247934
sg247934sg247934
sg247934
 
Sap implementation
Sap implementation  Sap implementation
Sap implementation
 
SAP Business ByDesign 2011- November 2020
SAP Business ByDesign 2011- November 2020SAP Business ByDesign 2011- November 2020
SAP Business ByDesign 2011- November 2020
 
New Microsoft Word Document.docx
New Microsoft Word Document.docxNew Microsoft Word Document.docx
New Microsoft Word Document.docx
 
Ascp training manual_v1.2
Ascp training manual_v1.2Ascp training manual_v1.2
Ascp training manual_v1.2
 
Daffodil Software-Sharepoint Capability Document
Daffodil Software-Sharepoint Capability DocumentDaffodil Software-Sharepoint Capability Document
Daffodil Software-Sharepoint Capability Document
 
Sd pragathi template tolling
Sd pragathi template   tollingSd pragathi template   tolling
Sd pragathi template tolling
 
A roadmap to_success_in_capacity_management
A roadmap to_success_in_capacity_managementA roadmap to_success_in_capacity_management
A roadmap to_success_in_capacity_management
 

Similar to Software design and development - Requirements analysis and capture

Software Engineering in a Quick and Easy way - v1.pdf
Software Engineering in a Quick and Easy way - v1.pdfSoftware Engineering in a Quick and Easy way - v1.pdf
Software Engineering in a Quick and Easy way - v1.pdf
KAJAL MANDAL
 
Project Proposal Service Center Management software
Project Proposal  Service Center Management softwareProject Proposal  Service Center Management software
Project Proposal Service Center Management software
Adam Waheed
 
Ba notes
Ba notesBa notes
Ba notes
rummy_123
 
0.3 aim phases_and_documentations
0.3 aim phases_and_documentations0.3 aim phases_and_documentations
0.3 aim phases_and_documentations
Oracle HRMS Functional Consultant
 
Glossary of Agile Terms
Glossary of Agile TermsGlossary of Agile Terms
Glossary of Agile Terms
Valtech UK
 
best-practices-to-develop-software-applications-for-startups- cuneiform.pdf
best-practices-to-develop-software-applications-for-startups- cuneiform.pdfbest-practices-to-develop-software-applications-for-startups- cuneiform.pdf
best-practices-to-develop-software-applications-for-startups- cuneiform.pdf
Cuneiform Consulting Pvt Ltd.
 
Incremental model
Incremental modelIncremental model
Incremental model
Sajid Ali Laghari
 
Session3
Session3Session3
Session3
Jani Kusuma
 
System Development Life Cycle
System Development Life CycleSystem Development Life Cycle
System Development Life Cycle
International Islamic University
 
Sap performance testing best practice guidev1 0-130121141448-phpapp02
Sap performance testing best practice guidev1 0-130121141448-phpapp02Sap performance testing best practice guidev1 0-130121141448-phpapp02
Sap performance testing best practice guidev1 0-130121141448-phpapp02
Kamalaksha Das
 
Sapperformancetestingbestpracticeguidev1 0-130121141448-phpapp02
Sapperformancetestingbestpracticeguidev1 0-130121141448-phpapp02Sapperformancetestingbestpracticeguidev1 0-130121141448-phpapp02
Sapperformancetestingbestpracticeguidev1 0-130121141448-phpapp02
Pompee Das
 
SAP Performance Testing Best Practice Guide v1.0
SAP Performance Testing Best Practice Guide v1.0SAP Performance Testing Best Practice Guide v1.0
SAP Performance Testing Best Practice Guide v1.0
Argos
 
BasavarajPatil_Java_Agile_PM
BasavarajPatil_Java_Agile_PMBasavarajPatil_Java_Agile_PM
BasavarajPatil_Java_Agile_PM
Basavaraj Patil
 
Custom Software Blueprint
Custom Software BlueprintCustom Software Blueprint
Custom Software Blueprint
RosemaryGeorge6
 
Driving Insightful, Quantifiable Results
Driving Insightful, Quantifiable ResultsDriving Insightful, Quantifiable Results
Driving Insightful, Quantifiable Results
lshahs
 
PPT.pptx
PPT.pptxPPT.pptx
PPT.pptx
PPT.pptxPPT.pptx
PPT.pptx
HARISHV863695
 
Software development life cycle copy
Software development life cycle   copySoftware development life cycle   copy
Software development life cycle copy
9535814851
 
Data modelling tool in CASE
Data modelling tool in CASEData modelling tool in CASE
Data modelling tool in CASE
Manju Pillai
 
Different Methodologies Used By Programming Teams
Different Methodologies Used By Programming TeamsDifferent Methodologies Used By Programming Teams
Different Methodologies Used By Programming Teams
Nicole Gomez
 

Similar to Software design and development - Requirements analysis and capture (20)

Software Engineering in a Quick and Easy way - v1.pdf
Software Engineering in a Quick and Easy way - v1.pdfSoftware Engineering in a Quick and Easy way - v1.pdf
Software Engineering in a Quick and Easy way - v1.pdf
 
Project Proposal Service Center Management software
Project Proposal  Service Center Management softwareProject Proposal  Service Center Management software
Project Proposal Service Center Management software
 
Ba notes
Ba notesBa notes
Ba notes
 
0.3 aim phases_and_documentations
0.3 aim phases_and_documentations0.3 aim phases_and_documentations
0.3 aim phases_and_documentations
 
Glossary of Agile Terms
Glossary of Agile TermsGlossary of Agile Terms
Glossary of Agile Terms
 
best-practices-to-develop-software-applications-for-startups- cuneiform.pdf
best-practices-to-develop-software-applications-for-startups- cuneiform.pdfbest-practices-to-develop-software-applications-for-startups- cuneiform.pdf
best-practices-to-develop-software-applications-for-startups- cuneiform.pdf
 
Incremental model
Incremental modelIncremental model
Incremental model
 
Session3
Session3Session3
Session3
 
System Development Life Cycle
System Development Life CycleSystem Development Life Cycle
System Development Life Cycle
 
Sap performance testing best practice guidev1 0-130121141448-phpapp02
Sap performance testing best practice guidev1 0-130121141448-phpapp02Sap performance testing best practice guidev1 0-130121141448-phpapp02
Sap performance testing best practice guidev1 0-130121141448-phpapp02
 
Sapperformancetestingbestpracticeguidev1 0-130121141448-phpapp02
Sapperformancetestingbestpracticeguidev1 0-130121141448-phpapp02Sapperformancetestingbestpracticeguidev1 0-130121141448-phpapp02
Sapperformancetestingbestpracticeguidev1 0-130121141448-phpapp02
 
SAP Performance Testing Best Practice Guide v1.0
SAP Performance Testing Best Practice Guide v1.0SAP Performance Testing Best Practice Guide v1.0
SAP Performance Testing Best Practice Guide v1.0
 
BasavarajPatil_Java_Agile_PM
BasavarajPatil_Java_Agile_PMBasavarajPatil_Java_Agile_PM
BasavarajPatil_Java_Agile_PM
 
Custom Software Blueprint
Custom Software BlueprintCustom Software Blueprint
Custom Software Blueprint
 
Driving Insightful, Quantifiable Results
Driving Insightful, Quantifiable ResultsDriving Insightful, Quantifiable Results
Driving Insightful, Quantifiable Results
 
PPT.pptx
PPT.pptxPPT.pptx
PPT.pptx
 
PPT.pptx
PPT.pptxPPT.pptx
PPT.pptx
 
Software development life cycle copy
Software development life cycle   copySoftware development life cycle   copy
Software development life cycle copy
 
Data modelling tool in CASE
Data modelling tool in CASEData modelling tool in CASE
Data modelling tool in CASE
 
Different Methodologies Used By Programming Teams
Different Methodologies Used By Programming TeamsDifferent Methodologies Used By Programming Teams
Different Methodologies Used By Programming Teams
 

Recently uploaded

Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
VALiNTRY360
 
YAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring detailsYAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring details
NishanthaBulumulla1
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.
AnkitaPandya11
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
dakas1
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
Marcin Chrost
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
TaghreedAltamimi
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
ShulagnaSarkar2
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
gapen1
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Project Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdfProject Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdf
Karya Keeper
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
XfilesPro
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
safelyiotech
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
Alberto Brandolini
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 

Recently uploaded (20)

Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
 
YAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring detailsYAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring details
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Project Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdfProject Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdf
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 

Software design and development - Requirements analysis and capture

  • 1. S195215 13 REQUIREMENTS ANALYSIS AND CAPTURE Software Design and Development Part 1 S195215 S195215@uos.ac.uk Abstract A requirements specification and supportingrequirements modellingmaterial,includingHigh Level Use Cases,System Context Diagrams,Functional/Non-Functional Requirements Table, SwimlaneDiagram and Interaction Models. This includes the requirements development and design process of the specified softwaresolution.
  • 2. S195215 1 Tableof Contents Vision Statement......................................................................................................................................................................3 Team Leader Meeting .............................................................................................................................................................3 Idea Proposal........................................................................................................................................................................3 Initial System Requirements..................................................................................................................................................3 Stakeholder Analysis ...............................................................................................................................................................3 Stakeholder Table ....................................................................................................................................................................4 Initial Questions and Output: Scope and Feasibility ........................................................................................................4 Internal Network Customer: Tim Game...........................................................................................................................4 Team Leader: Richard Pilkington ......................................................................................................................................4 Scope Analysis...........................................................................................................................................................................5 Project goals .........................................................................................................................................................................5 Functions ...............................................................................................................................................................................5 Deadlines...............................................................................................................................................................................5 Costs.......................................................................................................................................................................................5 Possible Exclusions...............................................................................................................................................................5 Feasibility Analysis ...................................................................................................................................................................6 Understanding the Project .................................................................................................................................................6 Project Management ..........................................................................................................................................................6 Project Operation ................................................................................................................................................................6 Stakeholder Proposal ..............................................................................................................................................................6 Overview ...............................................................................................................................................................................6 Purpose and Focus...............................................................................................................................................................6 Development for Audience.................................................................................................................................................6 Stakeholder Engagement ...................................................................................................................................................6 Functional Requirements .......................................................................................................................................................7 Non-Functional Requirements ..............................................................................................................................................7 Project Risks Table ...................................................................................................................................................................8 Technical Background .............................................................................................................................................................8 Technical Restrictions..............................................................................................................................................................8 Elicitation of requirements .................................................................................................................................................10 System Context Diagram .....................................................................................................................................................11
  • 3. S195215 2 Configuration Modelling......................................................................................................................................................12 Swimlane Diagram ................................................................................................................................................................13 Entity Relationship Diagram ...............................................................................................................................................14 Navigation Questions and Output.....................................................................................................................................15 Internal Networks Customer: Tim Game ......................................................................................................................15 Team Leader: Richard Pilkington ...................................................................................................................................15 Content Questions and Output..........................................................................................................................................15 Internal Networks Customer: Tim Game ......................................................................................................................15 Navigation Modelling ...........................................................................................................................................................16 Customer............................................................................................................................................................................16 Management.....................................................................................................................................................................16 High-level use case: Cockburn Tables ...............................................................................................................................17 Adding A User....................................................................................................................................................................17 Checking A Room ..............................................................................................................................................................18 Adding A Location With Rooms......................................................................................................................................19 Requirements Conclusion....................................................................................................................................................20 Bibliography ...........................................................................................................................................................................21
  • 4. S195215 3 Vision Statement After a year of being in a software development team, multiple new features have been tested and developed for our many internal customers in the organisation. The software itself is a centralised inventory system, holding hundreds of thousandsofspecific data for customers to easily access and update when needed. I knew from my experience working with databases that I wanted to create a solution to automate and speed up a process of accessing this data for one of our customers.I understood that to achieve this I would need to actively participate and communicate with my target customer to deeply understand their problem and develop a fast, effective solution that is safe and reliable to use. This would encourage me to schedule frequent meetings with the customer, suggesting a development technique such as ‘agile’ to be used; with flexible release cycles to ensure the customer is satisfied with each small requirement. Team Leader Meeting Following my initial vision for what solution I wanted to pursue,I decided to organise an informal meeting with my team lead, Richard Pilkington to discuss the situation further, present to him my idea and ask about any projects I could potentially take on to satisfy this. Idea Proposal After discussing my vision with him, Richard Pilkington soon suggested a feature that one of our customers (Internal Networks) had suggested 2weeks ago to him. This feature was a room checker. Within our team’s software (Blueprints) we hold large amounts of information on locations; of which have many rooms. These rooms need scheduled checks performed to ensure they are functioning properly. Internal Networks currently have to manually search for rooms that need checking in an excel spreadsheet,and manually fill out forms and send them off to be updated.This overall process can take weeks to complete, suggesting a substantial inefficiency in the way they work. This feature was postponed due to the nature of the software we currently develop. Blueprints is an inventory system, Richard Pilkington explained that this complexity would not fit into our current software and therefore I could develop an external solution that communicates with Blueprints to get the newest information on locations and rooms. This software would therefore be separate from my team but would benefit one of our customers without adding complexity to our current software’s code. Initial System Requirements Since the previous discussion with my team leader Richard Pilkington, I have developed a better understanding of the project required for the customer and have decided to analyse what requirements could be necessary for the development of this project. First requirement I soon identified would be the need for a web solution. The front end will need to be separate from Blueprints therefore will need to be designed and optimised for th e purpose of searching and updating rooms. This along with the ability for the populated database to communicate and interact with the front end would allow the seamless ability for updating and checking rooms by the visiting customers. Furthermore, with a room checks page seeming likely, it would make sense to accompany this with a user’s page to control what permissions people have when visiting the solution. These initial ideas will be developed further after meetings with all the stakeholders have taken place. Stakeholder Analysis My main contact and stakeholder would be my team leader Richard Pilkington, because I am going to be the lone developer of this solution for my current team, therefore developing the solution directly impacts on the team; both in productivity in current work and customer interaction. In addition, I will stop development for 4 current customers (yet to be determined) over this time period. Along with this my line manager and team manager will be responsible for the funding of the project, with both of them responsible for allowing the customers money to be used towards my time on this solution. Due to it being a requested feature by the customer, this was authorised and once further meetings with my determined stakeholders’ have occurred, full details on project scope and feasibility will be decided. The most important stakeholder would evidently be the customer I am developing the solution for, Internal Networks. This is a large group of Network Engineers with Tim Game being the delivery manager and my main stakeholderfrom Internal Networks, representing the larger customer base. Furthermore, Gary Hayter will be an important stakeholder in that he will facilitate and grant me access to server use and facilities throughout the project. I will need to present the projection and size of the information being stored so that the necessary storage can be allocated on a secure server on his request.
  • 5. S195215 4 Stakeholder Table Stakeholder Relationship Participation Acceptance Criteria Richard Pilkington Team Leader In charge of Blueprints, authorises time schedule Finish developing software on time, propose project Simon Weeks Line Manager Manages my job role and performance review Make sure I satisfy quarterly goals in work Rupert Voelcker Team manager In charge of finance and authorisation of project Make use of budget and propose developed idea Tim Game Head of Internal Networks Main point of contact for customer Achieve requirements and ensure customers satisfied Gary Hayter Software Facilitator Handles server hosting for software projects Propose feasible request for server load and access Figure 1, StakeholderTable Initial Questions and Output: Scope and Feasibility I decided to schedule meetings with the main customer (Tim Game) and a follow up discussion with team leader (Richard Pilkington) to discuss and develop initial questions on project requirements. This was done to develop my understanding of the requirements for the project and to ascertain the desired outcome each of the different stakeholders require from this solution. Internal Network Customer: Tim Game - We will need to know when a room needs checking, how will this be achieved? Once I have discussed with the customer how often rooms need checking, an alert system(via email or front- end notification) can be setup for requested individuals; alerting them of room checks. This along with a visual status change on the specific room will allow customers to search for unchecked rooms within the database. - We only want specific people to have the ability to delete rooms, how can we setup permissions? A separate page can be created specifically for userpermissions. Every person in the company has a unique identifier, this can be used to log into their account with set permissions. This could be further developed through the front end, allowing specific individuals modification abilities over other people’s permissions (read, write, execute). - Information on rooms are location specific and require to be linked somehow, will this be feasible? A separate linked table can be created to allow rooms to have location identifiers within the database. This could be developed,allowing users to view a specific location and see all rooms within that location. Specific users can then have the ability to create, delete or edit this information. - Navigation throughout the website is key to achieving a fast solution, how will this be optimised? A navigation bar at the top of the page will be essentialto allow the user to switch between pages easily while browsing the site. Pages such as ‘Rooms, Locations, Users, Home’ should be represented as buttons for the user to efficiently switch between activities. Along with this all users will be presented with a login page at launch, which has to be designed appropriately and fast, encouraging users to choose my solution over their old way of working. Team Leader: Richard Pilkington - With the information being on our team’s software (Blueprints), how do you intend to use it? As my solution will pull data from Blueprints, I will need to create automated import scripts to fetch this information and upload it onto my database for the room checker. This information will need to be regularly updated to ensure the customer (Internal Networks) has access to the newest data for locations and rooms on their network. - Time scale requirements are important in knowing the work load, do you know when you’ll have one? Hopefully once the stakeholderproposal meetings have been conducted,the customer and I will begin to have a clearer understanding ofwhat needs doing and how long the development process may take. At this point designing and interacting closely with the customer to ensure a good understanding of the project is essentialto progress the development of the solution.
  • 6. S195215 5 Scope Analysis With the size of the project I am undertaking increasing following each customer meeting, it is very beneficial to review and discuss the intended scope for my solution.This will allow me to understand the requirements better and encourage self-review of my time management and intended design of the solution. Deadlines are mostly populated by stakeholder meeting for the upcoming weeks to decide a more specific approach to the project. Project goals - To allowInternal Networks to access and viewall location and roomdetails - To allowInternal Networks to check rooms and update their status accordingly - To alertspecific Internal Network users if a room fails it’s check and change its status accordingly - To connect rooms to their specific locationsvia a unique identifier,allowingusers to search for them - To ensure only users with correctpermissions areableto edit and manipulatethe information. - Make surethe login procedure to the website is fastand secure. Functions - A navigation bar displaying all buttons to give the user the ability to navigate the website - A home page displaying information regardinghowto use the website and all its functionality - A room page displayingall rooms with their correspondingdetails - A location pagedisplayingall locations with their correspondingdetails - A user’s page displayingall users’permissions with their correspondingdetails - A show page displayingfurther details on each specific location or room - Edit buttons on each room/location show page allowingmodification privileges on the information - A logout button on the navigation bar allowingtheuser to sign out of the website. Deadlines - Interactingcustomer (Tim Game) stakeholder proposal –6th March 2019 - Team leader (Richard Pilkington) stakeholder proposal –8th March 2019 - Software Facilitator (Gary Hayter) stakeholder proposal –11th March 2019 - Navigation questions and output – 12th March 2019 - Design and specifications document - 15th March 2019 - Development schedule: TBD (will be discussed further in this report, see contents page 1) Costs - Further stakeholder meetings with Software Facilitator (Gary Hayter) and team manager (Rupert Voelcker) required to determine cost and budgeting of overall project.Server infrastructureand configuration design required prior to this meeting. Possible Exclusions Some requirements that have initially been discussed may best be left out of the development cycle of this current project. These requirements could be picked up as additional features later in the year or may not fit the intended purpose of the solution. - An alertsystem that notifies all requested users whenever a room check failsexternally. This could be a helpful feature however would require separate functionality to the initial project I set out to create. Because this is a low priority feature this could be added in the future. - An external portal that allows accessthrough Wi-Fi,allowinghomeuse and out of site access. In the short term, this feature is a definite exclusion. Without a lot of time spent ensuring the design and execution of this feature is safe and secure, this is not something to begin considering and is definitely a feature for the future. The vast majority of the time the customer will spend accessing the site through the LAN portal, therefore this is also considered a low priority feature.
  • 7. S195215 6 Feasibility Analysis With stakeholder proposals approaching I understand the need to rationalise both the functionality of my project and the projected size of the overall software. Feasibility Analysis helps me achieve this prior to my upcoming meetings, allowing me to reflect on the developed requirements I have so far. Understanding the Project The project so far consists ofa database containing information surrounding rooms within locations around the country.The customers’ requirements are built around this data set, for example they require the ability to view rooms, check rooms, create and delete rooms etc. This project should solely be based around appealing to this requirement; therefore, the UI should view and manipulate rooms effectively, the database should be fast to search and navigate, with the information being stored in sensible, consistent values. Project Management Along with a Development schedule soon to be decided (after stakeholder proposal) I understand the need to organise and develop the solution in a well-structured approach.From previous experience in a development team, the use of a kanbanboard is very beneficial to working in an agile way; a development process well suited for this project due to the necessity for close communication with the customer. Once the customer and I have discussed what features they would like to see first, I can visually write these into small tasks,(also known as cards) to begin a process line that will encourage small interval progression. Project Operation As the lone developer of this solution, I will need to operate in a manner that will benefit both me and the customers requirement simultaneously. I have already discussed the protentionalfor weekly Skype meetings with a customer representative to prevent the risk of misinterpreted requirements which would waste time and resources for both sides of the project. Stakeholder Proposal Overview This software solution will allow permitted users to have individual permissions to either view or edit rooms on a specific location. These rooms will be automatically updated from the Blueprints inventory systemwhich contains live location/room information that is updated weekly from appropriate sources.This software solution will be called “Room Checker” and will offer the ability to view all room information, including the check status ofa room, “Passed,Failed, Required or Fixing”. Room checks will be scheduled on a regular basis,with permitted users having the ability to check ‘required’ rooms. Rooms will have additional information that will give users the ability to locate that room and send necessary people to fix the problem. Purpose and Focus The main purpose for this software is to allow Internal Network users to view room information easily, this will be achievable in a central inventory that will help speed up the process of room checking and allow the users to access consistent,up to date information. Development for Audience The development process will be built around the customers interaction with the software each step of the way. This agile approach will allow small incremental changes to be reviewed and discussed with the underlying customer, to closely relate all the development to the necessary requirements of the user. Stakeholder Engagement A development schedule will soon be designed after further planning of the software solution to allow stakeholders to understand the approach needed to achieve the solution. This schedule will be accompanied by suitable diagrams and design graphs for each important internal stakeholderto ensure they understand what I require from them and to give them an understanding ofthe given approach. For example, a configuration diagram will be created to outline the server interaction and safety precautions needed for using the services under Gary Hayter.
  • 8. S195215 7 Functional Requirements This table outlines the functional requirements and approach to achieving the customers’ needs for this solution. It covers what necessary criteria needs to be met along with actions to complete these tasks. Use of MOSCOW allows me to determine the priority of the requirements along with understanding whetherthe task is achievable within the project lifetime. Inspiration and design layout achieved came from reading ‘System Requirements Engineering’, Loucopoulos, P. (1995) Figure 2, Functional RequirementsTable Non-Functional Requirements This table outlines the non-functionalrequirements and approach to developing an optimised solution. This will cover the security,performance and interface requirements for the customer interacting with the software system. Inspiration and design layout achieved came from reading ‘Non-functional requirements in software engineering’, Chung, L. et al. (2000) Figure 3, Non-Functional RequirementsTable (Files attached externally in submitted folder if links do not work) - Functional Requirements Table - Non-Functional Requirements Table
  • 9. S195215 8 Project Risks Table After the scope and feasibility analysis I decided to outline the possible project risks that I may encounterduring the development of the software system. Risk Early in the Project Late in the Project Customer Impact Chance of missing deadlines Discuss with customer the reason for changing deadlines, agree to new terms Change task approach to fit in necessary requirements for the discussed deadlines Medium Requirement is misinterpreted Discuss with the customer the correct requirement and understand where it went wrong Ensure regular meetings to lower risk of time being wasted on the wrong requirement High Requirements change Understand new requirements and attempt to implement them Analyse how this will impact the rest of the project and discuss with stakeholders Medium Budget is too low Calculate the projected budget and discuss with the Software Facilitator or Team Manager Understand why this happened and analyse the rest of the project to prevent reoccurrence Low Experience lacking for requirements Seek help from more experienced team members who may help Discuss requirements with customer to ensure they are suitable for my skillset Low Figure 4, Project RisksTable Technical Background I have currently been in software development for around a year and a half. During this time and within my current software team, I have spent the majority of my time writing in Ruby and using Ruby on Rails to develop our web application. Because of my team’s software being a web application, I have past experience writing in html, designing front end logic for customers similar to the one I have for this project. The software my team works on is a physical inventory, and because of this I have practical experience in manipulating and querying a database in a safe and reliable manner. Good software practices have been a big influence in the way I develop code. I have only ever worked in an agile way and so far, has suited the solutions I have needed to develop with a software team. Along with this I also understand the benefit of fully test-driven development and intend to implement this style of software development into my project. From my own experience, using VIM as an integrated development environment (IDE) will benefit me due to the familiarity of the software and my proficiency using it. Furthermore, my development team uses mac’s and therefore I will intend to use a mac machine to undergo this project, developing the solution on a Linux server, to ensure compatibility when connecting via internal connections. Lastly, I have also spent a lot of time developing software with the use of version control. Github and supporting software such as SourceTree and CCmenu to visualise branches make development processes far easier. When developing this software for the customer, I intend to use the same practices as Agile development usually encourages many small tasks and changes,which can conveniently be represented as branches, preventing any changes on master running the risk of breaking the system. Technical Restrictions From my first ever day being in software development, I have been in a team that had already developed a well- functioning database solution.Because of this I have never personally had the experience to create a database from scratch, therefore this will be completely new to me. However, I believe I have the experience and skill to achieve this requirement, I will make sure to allow myself extra time as whilst learning there is the potential for me to make mistakes on the way, and I do not want to miss the deadline for my customer. Secondly, I’ve never been responsible for a project without team members to contribute with me. I will have to take on the responsibility as the developer to interact with stakeholders and the customers it’s aimed at, as well as manage any difficulties that will occur, something that until now I have only observed. This is an exciting opportunity for me to put my skills to practical use but will be technically demanding. Due to my lack of experience in front end design,I have read software books to help understand the best practices taken to achieve good front end design,one of these books was ‘The elements of user interface design’(Theo Mandel, 1997) which emphasised the importance of front-end testing as even things you can’t see visually wrong with the interface could still be wrong in design.
  • 11. S195215 10 Elicitation of requirements These tables are the outcome of a stakeholder interaction earlier this week where we brainstormed all purposeful interactions that could occur with the system.This was done to achieve a clearer vision of the overall system purpose and the way data should be represented to best suit the interacting sources. Design of these tables below was inspired by the book ‘Requirements Engineering: Fundamentals, Principles, and Techniques’, Pohl, K. (2010) Objects Surrounding the System Management External Services Partners Software Developers General Users Internal support systems, e.g. Finance, HR and wellbeing Physical locations and rooms around the world Company’s whom location and room information is stored Development tools, customer support, testing tools, Hardware and infrastructure services Web browsers, User credentials, VPN accessibility Objects Produced by the System Management External Services Partners Software Developers General Users Export files for reviewing and cross- checking data for reliability checks External data sources used to import up to date information on locations and rooms Ability to export file through the system to receive text file information on specific rooms Server logging and auditing information based on the systems front and back end Customer permissions page with user access and information Objects Used by the System to Perform its functions Management External Services Partners Software Developers General Users Advertisement on the systems front- end, company branded logo, recognition Export file of edited information, Information on rooms requiring service Logging information on their room status Server and database systems to present data on the system. Customer interaction on the front end for functionality, e.g buttons and search fields. Figure 5, Requirements Elicitation Table
  • 12. S195215 11 System Context Diagram A systemcontext diagram felt necessary in order to visualise the main interactions that take place throughout the given systemfor each external entity. This will be used in future meetings with stakeholders in order for them to fully understand their interactions with the systemand what services it can provide to them. External Services = Input and Output = External Entity = Interacting System Customers Product Developers Management Room Checker System Note: Managers can also act as customer entities, interacting with full permissions on the system. Note: SystemDevelopers can also act as customer entities for testing and user permission editing. Figure 6, System Context Diagram
  • 14. S195215 13 Swimlane Diagram A Swimlane diagram helps visualise important processes within the system. This helps the customers understand howeach main interactor contributes towards the system outcome. This is an illustration for the process of room checking, showing how the editing of information will determine the output taken for the system. I decided to design this swimlane diagram after understanding the importance of representing system processes this way from the book ‘Validation of Business Process Models Using Swimlane Diagrams.’, Sauter, V,L. Jeyaraj, A. (2014) User Checking Room Room Checker System External Room Service Begin Room Check Takes user to roomcheck form Edits room check information Changes parsed, database queried Room updated, status changed External request form submitted Changes invalid Status is Failed Service individual sent to fix room Taken backtoRoomindex page Status isn’t Failed Status is Passed Room updated, status changed Figure 8, Swimlane Diagram
  • 15. S195215 14 Entity Relationship Diagram After gathering a clearer understanding ofwhat the requirements are from my main customer, I thought it would benefit the stakeholders to visualise how the data would layout undereach resource. Below is an Entity Relationship Diagram used to represent the data fields that each resource may hold. This helps both the user visualise and understand the information they will be handling on the systemand helped me acknowledge the scope and size of the data required to make this work. Below is an initial draft of what could potentially be held within the system. Example diagrams helped me decide how best to represent my information on my system, one example was found in this book, ‘The Entity Relationship Model – Toward a unified view of data.’, Chen, P,P. (1976) This diagram will be presented to the Internal Network representatives including my stakeholder Tim Game on the 12/03/19 to discuss navigation and content questions and address what information may be required on the final system. Figure 9, Entity Relationship Diagram
  • 16. S195215 15 Navigation Questions and Output As content designs and use case tables are required soon,I thought it would be in the best interest of my two main customers to discuss the requirements they see important for navigating the front end of the system.These are some of the more productive navigation question and outputs gathered from the meeting. Internal Networks Customer: Tim Game - How will we navigate through locations and find the rooms attached to it? The navigation bar will have a resource drop down menu allowing the userto access either locations or rooms. After viewing the list of locations that the user has access to,they can click on a specific location which will showall connected rooms under that location with their corresponding information. - Managers will require the ability to export the data into a csv formatted file, how will we do this? Managers will have permissions to request automated exports from the system,which will email out the updated information to specific users through an export script. - If I find a specific room that needs checking, how will I check the room? Users that have permission to edit rooms will have a visible button “Check Room” that allows them to go through the standard process of checking. This can then be submitted which will update the rooms in formation and alert external services if necessary (see swimlane diagram for visual representation pg. 13). - What process will take place in order for the internal network users to login securely? Users will be required to enter their EIN (unique identity) code through an LDAP (Lightweight Directory Access Protocol) secure login portal that will require the user’s internal password.Using this allows full information on who logs into the systemand ensures all users are registered under the company’s system. Team Leader: Richard Pilkington - How will developers and manager permissions allow them to modify users? Every user will have ‘view’, ‘modify’ or ‘none’ on each resource in the system. One of these resources will be the users page.If access is given and modify permissions are enabled, that userwill have the ability to change any users’permissions on the system. If mistakes are made, they can always be fixed back end by a developer. To minimise this only trusted users will have this ability to change users. - How will you develop a front end that can be navigated consistently across multiple browsers and platforms? The front end will probably be developed using a library such as Bootstrap that is optimised for multi-platform web design.This is because the site requires to be accessible and functional on a range of machines used in the workspace, therefore the navigation and button functionality will be designed and tested for this purpose. Content Questions and Output Internal Networks Customer: Tim Game - How will we know what room information relates to what location? A hierarchy containing rooms under locations will be kept in mind when developing the database tables for this project. This will therefore link all corresponding rooms to their location, making it easy for me to display on the front end the relationships they share. Each object in the system(room, location, user etc.) will have their own show page, displaying all information possible.If the room is attached to a location, it will be displayed here with a linkable trace to the location showpage. - When we receive new location room data, how will we update the system? Because were importing all the information from Blueprints (my teams’ software), the information will still be required to use inside Blueprints. Then this information will automatically be pulled into the Room Checker. - If an export is requested of the information in Room Checker, how will this be formatted? The data will be exported into a csv file with delimiter separations for each field undera specific room or location. This will allow quick and easy formatting of the export in software such as excel for windows or numbers for mac which can decipher the delimiters and separate the information into its suitable headers and rows.
  • 17. S195215 16 Navigation Modelling High level navigation use cases to represent the main interactors and the parts of the systemmost likely to utilise. Customer Interactions with read only permissions, (and check room permissions): Management Interactions with all permissions across the system (Admin): Use Search Bar Show Room Page Enter Homepage Export file Show Location Page Log in Change password Edit User Info Change personal Info Use Search Bar Show Room Page Edit User Info Check Room Enter Homepage Export file Change password Change personal Info Log in Edit Rooms Check Room Edit Locations Edit All Users Add/Remove Rooms Add/Remove Locations Show Location Page
  • 18. S195215 17 High-level use case: Cockburn Tables To elaborate on the main scenario’s and functions of the system,a Cockburn use case table seemed appropriate to give a full understanding ofwhat can take place on the website. The tables below will cover the main interactions the systemis designed for, allowing me and the stakeholders a better understanding ofthe intended features. I had not heard about Cockburn tables until reading one of his studies based on the template he invented. This helped me layout the tables below; the book was called ‘Basic Use Case Template.’, Cockburn, A. (1998) Adding A User Goal in Context To add a user to the system, setting their credentials, permissions and ownership of locations Preconditions User with the ability to view and edit users is necessary,along with a connection via LAN or VPN. Trigger The User decides to add a new user to the system Scenario 1 - User navigates to the Room Checker homepage 2 - User selects ‘User’ resource from the navigation bar 3 - User selects ‘Add User’ button on the ‘Users’ show page 4 - User enters the required information about the User 5 - User selects the permissions for the User they are creating 6 - User proceeds to click ‘Submit’ button Exceptions 1 - User presses back on their browser at any stage of the scenario 2 - User enters invalid User information 3 - User cannot be found under the LDAP server logs 4 - Customer navigates away from the User page at any point Priority Low priority, useful but not main functionality of the system When Available Aimed to be first release,maybe in beta version for a while as a lot of functionality is required Frequency of Use Credentials used very often for logins, editing user used very rarely Channel to Actor Through a Personal Computer or mobile with LAN or VPN connectivity Open Issues 1 - If the user enters the incorrect information, how will this be handled? 2 - If the user does not fully fill out the user, how will the system react? 3 - If the user is not found on the LDAP system, how will this be addressed?
  • 19. S195215 18 Checking A Room Goal in Context To select a room on the database,then proceed to check that room, changing its status accordingly Preconditions Appropriate user permissions should be granted, user should be logged in with EIN credentials securely and through a LAN connection Trigger The user decides to check a room while accessing the website Scenario 1 - User navigates to the Room Checker homepage 2 - User selects ‘Rooms’ resource from the navigation bar 3 - User selects a specific room that requires checking 4 - User clicks the ‘Check Room’ button on the ‘Rooms’ show page 5 - User enters the required information 6 - User proceeds to click ‘Submit’ Exceptions 1 - User presses back on their browser at any stage of the scenario 2 - User enters invalid check information 3 - Customer navigates away from the check page at any point Priority High priority, main functionality of the software solution When Available First available release of software,fully functioning Frequency of Use Fairly regularly, customers main feature Channel to Actor Through a Personal Computer or mobile with LAN or VPN connectivity Open Issues 1 - If the user enters the incorrect information, how will this be handled? 2 - If the user does not fully fill out the form, how will the system react?
  • 20. S195215 19 Adding A Location with Rooms Goal in Context To add a Location to the database,along with its corresponding Rooms and information Preconditions Appropriate user permissions should be granted, user should be logged in with EIN credentials securely and through a LAN connection Trigger The user decides to create a Location with Room information inside it Scenario 1 - User navigates to the Room Checker homepage 2 - User selects ‘Locations’ resource from the navigation bar 3 - User clicks the ‘Create Location’ button on the ‘Locations’ show page 4 - User enters the required information for the Location 5 - User clicks ‘Add a Room’ button on the ‘Create Location’ page 6 - User enters the required information for the Room 7 - User proceeds to click ‘Submit’ Exceptions 1 - User presses back on their browser at any stage of the scenario 2 - User enters invalid check information 3 - Customer navigates away from the ‘Create Location’ page at any point Priority High priority, important functionality of the software system When Available First available release of software, most functionality should be present Frequency of Use Very regularly, used by most managers Channel to Actor Through a Personal Computer or mobile with LAN or VPN connectivity Open Issues 1 - If the user enters the incorrect information, how will this be handled? 2 - If the user does not fully fill out the form, how will the system react? Figure 10, Cockburn Use Case Tables
  • 21. S195215 20 Requirements Conclusion Overall, the final development design and requirements specification achieved for this software solution has reflected the effectiveness of using design techniques as demonstrated above to work alongside the customer and suitable stakeholders. Diagrams and visual representations ofdata in tables played an important role in the customer understanding the systemand therefore elaborating their requirements for me to fully achieve their desired goals in the software. Since starting this assignment, I now have a clear vision of what the customer wants from me and how I intend to go about achieving those requirements and some of the challenges that I will face along the way. Not only has this document helped me and the customer understand the project, but it has also allowed me to critically assess my own design decisions throughout this time. For example, for the configuration model (Pg. 10), I suggested a public connection to the software’s back-end system believing this would act as one of the three approach scenarios. However, after further meetings with the customer, along with creating the non- functional requirements I realised for security and safety reasons,it would benefit the systemmore to make the site LAN and VPN access only. This is because the main interactions the customer has with the site will be over a local area network, therefore risking the chance of information being leaked through a systembreach over insecure Wi-Fi connections seemed unnecessary. This development of the security side of the systemshows how effective critically analysing and representing the software project in diagrams and tables is. This example and countless more have nurtured how the system are presented as what its current form is, which is a drastic improvement in what it looked initially. Finally, I intend to utilise this document in the upcoming months to achieve my software solution and,when necessary,develop on the current system when obstacles occur and reflect on mistakes made. With this,I hope to achieve an effective, and well-designed software systemto both satisfy the customer, and achieve maintainability within the software team for future development requirements and new customers.
  • 22. S195215 21 Bibliography Mandel, T. (1997) The Elements of User Interface Design. 1st edition. John Wiley & Sons, Inc. OWASP, Level 1 Application Security Verification Standards [Internet]Available at: https://www.owasp.org/index.php/Category:OWASP_Application_Security_Verification_Standard_Project (Accessed:11th March 2019) Loucopoulos,P. Karakostas, V. (1995) System Requirements Engineering.1st edition.McGraw-Hill, Inc. Chung, L. et al. (2000) Non-functional requirements in software engineering. 1st edition. Boston,MA : Springer. Pohl, K. (2010) Requirements Engineering: Fundamentals,Principles,and Techniques.1st edition. Springer Publishing Company, Inc. Sauter, V,L. Jeyaraj, A. (2014) Validation Of Business Process Models Using Swimlane Diagrams. 1st edition. Write State University Chen, P,P. (1976) The Entity Relationship Model – Toward a unified view of data.1st edition.ACM, New York. Cockburn, A. (1998) Basic Use Case Template. 1st edition.Independent Researcher