MSc in Cloud Computing
Cloud Application Development and Cloud Security Cross-
Module Project Description
Learning Outcomes
This assignment is shared between two modules: Cloud Application Development (CAD) – 100% of Module
Assessment and Cloud Security (CS) – 40% of Module Assessment. The deliverables of this assignment will
be assessed separately for each module according to the different learning outcomes:
Cloud Application Development
– Critically analyse the advantages, disadvantages and the underlying architectures of application
frameworks.
– Evaluate and assess how application frameworks facilitate the implementation of various design patterns
and architectures for cloud-based applications.
– Formulate and produce new code libraries that implement advanced programming constructs in order to
create secure, dynamic, configurable, robust, scalable cloud-based applications.
– Construct and present a complex dynamic cloud-based application through selecting an application
framework taking into account the evaluation and assessment of application design, development, and
testing methodologies.
Cloud Security
– Evaluate, configure and manage the security of SaaS resources.
– Investigate and analyse in-depth the security challenges associated with cloud deployment models and
cloud delivery models in order to evaluate and devise strategies for securing cloud-based systems.
– Recommend and evaluate solutions to detect, mitigate and prevent security breaches to cloud-based
systems.
Goal
For this assignment, you are required to design, create and evaluate a web application hosted on a Cloud
platform.
Once you have decided what your web application will do, you should go through the following process:
– Critically analyse and document the architecture of a web application framework.
– Define requirements: formally describe the functional and non-functional requirements of yourweb
application.
– Create a wireframe prototype based on these requirements.
– Implement a web application that addresses these requirements. This application will be based on a web
application framework, using at least one new library that you create in an object oriented programming
language. The new library should provide meaningful functionality to the application.
– Investigate your development strategy to ensure that you are developing your application to take
advantage of suitable design patterns running in the cloud.
– The application should be developed using a test-driven development approach.
– Deploy your application to a suitable cloud platform.
– Document and report the results and implement any changes required to complete a separate security
report detailing how relevant security principles and protocols have been implemented and tested in
order to defend the system you have developed against breaches in integrity and security.
On completion, you will document the process and reflect on it through the deliverables listed in the next
section. The project can be delivered by groups of up to 2 students.
Deliverables
You have to submit the following deliverables through Moodle for each module separately:
Consult Moodle for deadline Cloud Application Development: Prototype Stage
A mid-term submission that should include the following deliverables.
1. Project specification and requirements
2. The database architecture and its implementation (Note: you cannot import a database into your
application, you have to create it yourself)
3. Implementation of one functionality
The submission will consist of a report using the IEEE Conference template documening all the above
deliverables, and the code artefact (i.e. the source code of your application).
There will also be a demo during the scheduled lab class on that week.
Consult Moodle for deadline (Week 13) Cloud Application Development – Final Project Submission
A separate report 6-8 pages using the IEEE Conference template*. The report should include:
1. Revised project specification and requirements
2. Revised architecture and design aspects of your application, including the database architecture
3. Library description
4. Implementation
5. Different types of tests carried out using a test-driven development approach
6. Patterns used in the application
7. Interpretations, findings and conclusions must be present
The code artefacts submission. The ZIP file should include:
1. Source code of the web application (including comments)
2. Source code of the library (including comments)
3. A blog report demonstrating the evolution of your project
Consult Moodle for deadline (Week 13) Cloud Security
A separate 6-8 pages report using the IEEE Conference template*. The report should include:
1. Your approach to implement security in the system
2. Rational choice and use of security tools, methodologies, frameworks and benchmark methods
3. Documentation of your testing methods and procedures
4. Risk ratings in your system and full risk assessments
5. Outcomes of your security analysis and practical implementation
Consult Moodle for Presentation Date Joint CAD & CS Presentations / Demo:
One single CAD & CS presentation should be uploaded to Moodle by end of day of the day prior to
the presentation date on both CAD & CS Moodle pages.
* http://www.ieee.org/conferences_events/conferences/publishing/templates.html
http://www.ieee.org/conferences_events/conferences/publishing/templates.html
Assessment Criteria
Cloud Application Development
Design 10%
Critique possible designs for the web application and discuss and
evaluate the design chosen
Library creation 15%
Include in your project multiple external Gems;
Design and implement at least one new Gem documenting the
usefulness of the Gem
Implementation 20%
Develop the complex dynamic web application created with the
aid of a web application framework
Testing 15%
The application should be developed using a test-driven
development approach
Design Patterns 20%
Implement and document appropriate design patterns to enhance
your application running on a cloud platform
Conclusions and findings 10% The report should incorporate interpretations and conclusions
Demonstration 10%
Present the web application and demonstrate the dynamic
characteristics of it
Cloud Security
Approach & Project Planning 5%
Detailing the approach you have taken to implement security
across the system in question and a project plan specifying the
tasks and dependencies associated with the implementation of
security in SaaS
Selection of Tools,
Methodologies, Frameworks &
Benchmarking
20%
Documentation of choice of toolset utilised as part of the security
implementation including rationale for choice, level of default
security provision and the manner in which you have further
hardened the system
Technical Testing Approach 20%
Documentation of process involved in testing the security that
has been implemented
Findings & Risk Rating 20%
Presentation of findings from testing and assignment of
appropriate risk ratings with respect to the developed system
Challenges & Limitations 15%
Highlight any areas of the system that may be vulnerable to
attack or those areas that require further investigation and
analysis to ascertain the system’s level of vulnerability
Conclusion and Findings 10% The report should incorporate conclusions
Presentation / Demonstration 10% Present your idea and demonstrate implemented security features
MSc in Cloud Computing
Cloud Application Development and Cloud Security Cross-Module Project Description
Learning Outcomes
Goal
Deliverables
Assessment Criteria