Académique Documents
Professionnel Documents
Culture Documents
_______________________________________________________________________________________________________
[Project Name]
_______________________________________________________________________________________________________
Contents
1
1.1
1.2
DOCUMENT MANAGEMENT...................................................................3
Contributors.....................................................................................................3
Version Control.................................................................................................3
OVERVIEW................................................................................................4
3.1
3.2
Development Tools...........................................................................................5
Development Standards...................................................................................5
SYSTEM PROCESSES.............................................................................6
USER INTERFACE....................................................................................7
5.1
Transactional Interface....................................................................................7
5.1.1 MyEd Interface.............................................................................................15
5.2
6
6.1
6.2
6.3
7
7.1
7.2
7.3
7.4
Reporting Interface........................................................................................16
APPLICATION SECURITY......................................................................17
Authentication................................................................................................17
Authorisation..................................................................................................17
Business Objects.............................................................................................17
DATABASE DESIGN...............................................................................18
PG....................................................................................................................18
Tours................................................................................................................19
UG....................................................................................................................19
Users................................................................................................................20
APPLICATION INTERFACES.................................................................21
DATA........................................................................................................22
9.1
9.2
Data Migration...............................................................................................22
Archiving Policy.............................................................................................22
10
IMPLEMENTATION..............................................................................23
___________________________________________________________________________________
Page 2 of 24
[Project Name]
_______________________________________________________________________________________________________
1 Document Management
When completing this document, please mark any section that is not required as
N/A. A brief description of why the section is not required should also be included.
1.1 Contributors
Please provide details of all contributors to this document.
Role
Systems Analyst
Designer
(Owner)
Business Analyst
Project Manager
Project Sponsor
Business Area
Manager
Other document
contributors
Unit
IS Apps
Name
Ross Nicoll
Version
Author
Section
Amendment
___________________________________________________________________________________
Page 3 of 24
[Project Name]
_______________________________________________________________________________________________________
2 OVERVIEW
Please provide a general overview of the system design so that anyone reading this
section is able to gain an understanding of what functionality is provided and how
this functionality will be technically implemented.
Applicants and potential applicants can book tours and open days (split into UG and
PG open days) in which to visit the university.
The landing page for the tours is http://www.ed.ac.uk/about/campus/tours/student-led
and bookings are taken at http://www.ed.ac.uk/about/campus/tours/student-toursbooking
UG/PG open days are not currently bookable, but would normally be linked from
http://www.ed.ac.uk/studying/undergraduate/visiting/open-days /
http://www.ed.ac.uk/studying/postgraduate/open-day/on-campus-open-day/intro
respectively.
The current booking forms submit to PHP scripts currently located on the server
praline, which is to be decomissioned imminently. As such, they urgently require
migration to a new hosting environment.
There are also security issues with the current implementation not correctly protecting
against SQL injection and XSS attacks.
This project is to migrate the booking systems and their administration interface (also
on praline) to the LAMP stack provided by IS, and to fix its security issues.
___________________________________________________________________________________
Page 4 of 24
[Project Name]
_______________________________________________________________________________________________________
indicates compliance
Database Design
Cold Fusion
Java
Uportal Development
Accessibility
Web Style Standards
Supported Web Browsers
Note that interface is to match existing interface as closely as possible, and this may impact compliance
with accessibilty and web style.
___________________________________________________________________________________
Page 5 of 24
[Project Name]
_______________________________________________________________________________________________________
4 SYSTEM PROCESSES
Take each process specified in the Business Requirements Document (BRD) and state how it will be
implemented technically (please make reference to the corresponding paragraph number in the BRD).
Where applicable, a specification of each screen which makes up a process should be provided (ie a
screenshot and descriptions of every data item displayed).
A resource estimate should be provided for each process.
All paragraphs should be numbered to assist cross referencing in testing stages.
Please note that the order of this starts with the most difficult and/or infrastructure
changes first, and works towards tasks that are easier and/or can re-use existing work,
and accordingly time estimates for later stages are lower.
1. Database is to be brought in-line with design standards (1 day minimum, 1.5
days likely, 2 days worst case):
a. Transition all tables to an ACID-compliant database engine (InnoDB)
b. Change column types to better fit the content (for example replace
TEXT with VARCHAR types where content is a character string of
constrained length).
c. Add foreign key constraints to enforce data integrity.
d. Replace subject columns (on application table) with a separate table
that lists subjects per application.
e. Merge application, application11, application10, etc. tables
together. d) is a pre-requisite for this as the tables are currently
incompatible due to changes in subjects over time. It should be noted
that there is significant complexity in doing this as tables require reindexing during merging.
f. Move data that needs to be changed over time (for example tours
available, countries, subjects) from hard-coded values into the database
for future maintainability.
2. Replace tours booking interface with a Yii-based version (1.5 days minimum,
2 days likely, 3 days worst case) as fastest route to migrating it to a security,
maintable infrastructure.
3. Replace tours admin interface with a Yii-based version (1.5 days minimum,
2.5 days likely, 3 days worst case).
4. Add user management tools (copied from previous work, resource usage under
an hour).
5. Add role-based access controls (0.5 day minimum, 1 day likely, 1.5 day worst
case):
a. Add database tables for roles and roles associated with a user.
b. Modify User model to be able to understand these roles and check
for their presence.
c. Modify user edit/add functions to allow granting of roles to users.
6. Add new tour editing tools (1 days minimum, 1.5 days likely, 2 days worst
case).
7. Replace UG open day booking interface with Yii-based version. This can reuse much of the work from step 2 and accordingly estimates are lower: 0.5
days minimum, 1 day likely, 2 days worst case.
___________________________________________________________________________________
Page 6 of 24
[Project Name]
_______________________________________________________________________________________________________
8. Replace UG open day admin interface with Yii-based version (1.5 days
minimum, 2.0 days likely, 3 days worst case).
9. Add UG open day editing tools based on tour editing tools (0.5 days
minimum, 0.5 days likely, 1.5 days worst case).
10. Replace PG open day booking interface with Yii-based version (0.5 days
minimum, 0.5 days likely, 1.5 days worst case).
11. Replace PG open day admin interface with Yii-based version (1 day minimum,
1.5 days likely, 2 days worst case); note this includes adding in statistical
summary pages.
12. Add PG open day editing tools based on tour editing tools (0.5 days minimum,
0.5 days likely, 1.5 days worst case).
___________________________________________________________________________________
Page 7 of 24
[Project Name]
_______________________________________________________________________________________________________
5 USER INTERFACE
5.1 Transactional Interface
Use this section to link to an application prototype built by a Designer. The screens should be built in
conjunction with the business partner.
If this section is not applicable then please state why.
The booking interfaces should closely match the existing interfaces as much as
possible. The student-led tours booking page is shown below as an example:
The administration interface will be broken down into the following sections:
PG open days
Student-led tours
UG open days
Users
___________________________________________________________________________________
Page 8 of 24
[Project Name]
_______________________________________________________________________________________________________
5.2 Bookings
For open day and tour bookings, there will be options to:
___________________________________________________________________________________
Page 9 of 24
[Project Name]
_______________________________________________________________________________________________________
___________________________________________________________________________________
Page 10 of 24
[Project Name]
_______________________________________________________________________________________________________
5.3 Tours
For the tours and open days, there will be options to:
___________________________________________________________________________________
Page 11 of 24
[Project Name]
_______________________________________________________________________________________________________
___________________________________________________________________________________
Page 12 of 24
[Project Name]
_______________________________________________________________________________________________________
___________________________________________________________________________________
Page 13 of 24
[Project Name]
_______________________________________________________________________________________________________
5.4 Users
For users there will be views for:
Showing all users (see Figure 11)
___________________________________________________________________________________
Page 14 of 24
[Project Name]
_______________________________________________________________________________________________________
___________________________________________________________________________________
Page 15 of 24
[Project Name]
_______________________________________________________________________________________________________
[Project Name]
_______________________________________________________________________________________________________
information in this template will form the basis of the channel publishing information used in MyEd
when building channels.
There is an included breakdown of bookings group by day and broken down into
applicants and extras, however there is no substantial reporting interface.
___________________________________________________________________________________
Page 17 of 24
[Project Name]
_______________________________________________________________________________________________________
6 APPLICATION SECURITY
This section relates to application rather than physical security which is covered in the Technical
Architecture Document (TAD).
6.1 Authentication
Authentication is handled by EASE.
6.2 Authorisation
Include application, menu and page authorisation and any application roles.
The application will maintain its own list of users who are allowed to access it. Each
user will have one or more roles from the following list:
Administrator (can access all areas and manage users)
PG read (can read PG open day data but not edit)
PG write (can read/write PG open day data)
Tour read
Tour write
UG read
UG write
Each section of the user interface (PG bookings, tour bookings, UG bookings and
users) will be hidden unless the user has the relevant role to access that section.
___________________________________________________________________________________
Page 18 of 24
[Project Name]
_______________________________________________________________________________________________________
7 DATABASE DESIGN
Insert an Entity-Relationship Diagram of the system. If new tables have been added to an existing
system then highlight these in your ER Diagram (full diagram of existing system not needed).
Full specifications should be provided for all new tables/views/columns in the system (ie name,
datatype, mandatory, default values, constraints).
E-R diagrams are split into four individual diagrams for clarity:
7.1 PG
Two tables are used, containing the booking details for an applicant, and a list of open
days that are available to book:
___________________________________________________________________________________
Page 19 of 24
[Project Name]
_______________________________________________________________________________________________________
7.2 Tours
The tour_booking table contains bookings made, and tour contains tours that can
be booked. The opaquely named tour_flag field on tour is represented in the
existing user interface as Active? and contains a Y/N value.
country and stage provide suggested values for person_country and
person_stage fields on tour_booking, but historical data in tour_booking mean
they cannot be used for foreign key constraints.
7.3 UG
UG open day bookings are similar structurally to PG bookings, however with addition
of a list of subjects of interest to the applicant. The available subjects are stored in the
subject table (with an in_use flag as some values are no longer applicable) and
mapped to bookings via ug_booking_subject.
___________________________________________________________________________________
Page 20 of 24
[Project Name]
_______________________________________________________________________________________________________
7.4 Users
The users tables contain a list of valid roles (role), and a user_role table to map
users to zero or more roles:
___________________________________________________________________________________
Page 21 of 24
[Project Name]
_______________________________________________________________________________________________________
8 APPLICATION INTERFACES
Provide technical details of any inputs to the system from other applications and any outputs from the
system to other applications. Full data specifications should be included. Identify possible impact on
existing processes.
The application does not interact directly with any other applications. An export
function as tab-separated values is provided for importing into Excel or similar.
___________________________________________________________________________________
Page 22 of 24
[Project Name]
_______________________________________________________________________________________________________
9 DATA
9.1 Data Migration
Include any mappings between existing systems and the new system
___________________________________________________________________________________
Page 23 of 24
[Project Name]
_______________________________________________________________________________________________________
10 IMPLEMENTATION
Specify any implementation issues that should be considered when creating an implementation plan at
the Build stage.
The migration process is unusually complex due to merging multiple tables, and early
independent testing of the database migration process is suggested. Its also worth
noting that two previously independent databases are to be merged as part of
migration.
Implementation should otherwise follow a relatively standard pattern for Yii-based
PHP applications.
___________________________________________________________________________________
Page 24 of 24