CTC2404 Internet Software Development

advertisement
CTEC2404 Internet Software Development
This log book must be handed in at the end of the current year.
This is an official record of assessments. Keep it in a safe place.
Your Name
__________________________________________
P Number
__________________________________________
Course
__________________________________________
Tutor
__________________________________________
Portfolio of Work
During this module you will create a portfolio of work consisting of three web
applications each worth a third of the overall module mark.
Work must be submitted to your tutor via ftp prior to the set deadline.
Each application will be assessed by viva and it is up to you to manage your schedule to
maximise your viva marks. All grades will be recorded on your eGrid (available from the
module web site) and this log book.
Each assignment has marks available for creative development. These marks will be
awarded for your creative use of the technologies available. This work may be devised by
you and must be agreed with your tutor.
Marks are also allocated to members of your SCRUM team based on their engagement.
Team engagement will be judged by on-going engagement with the team. This grade will
be awarded at the review session for each assignment. Any team members not deemed to
have engaged with the work will not be awarded the grade. It is expected that all team
members will make some claims for credit at all meetings with your tutor.
In most cases zero marks will be awarded for simply copying the examples on the module
web site. You must show sufficient personalisation to demonstrate that the work is your
own.
1
2
3
Title
Weight
Implementing a Paper Based Design 75%
as a Three Layer Web Application
Deadline
Friday 10th Dec
Scrum Team Engagement
Creative development
XML/XSLT – Presentation Layer
Alternatives
10%
15%
75%
Friday 8th Feb
Scrum Team Engagement
Creative development
Collection Classes, Mapping and
Controlling Table Data for Multiple
Users
Scrum Team Engagement
Creative development
10%
15%
75%
Friday 22nd Mar
10%
15%
Schedule for Viva Marks and Meeting Schedule
Week
1
2
3
4
5
6
7
8
9
10
11
Xmas
Xmas
Xmas
15
16
17
18
19
20
21
22
23
24
25
Easter
Easter
Easter
29
30
Assignment 1
100
100
100
100
100
100
100
100
100
100 FTP Deadline
100 Review week 1
0
0
0
100 Review week 2
90
80
70
60
50
40
30
20
10
0
0
0
0
0
0
Assignment 2
100
100
100
100
100
100
100
100
100
100
100
0
0
0
100
100
100
100
100 FTP Deadline
100 Review week 1
100 Review week 2
90
80
70
60
0
0
0
50
40
Assignment 3
Meeting?
100
100
100
100
100
100
100
100
100
100
100
0
0
0
100
100
100
100
100
100
100
100
100
100
100 FTP Deadline
0
0
0
100 Review week 1
100 Review week 2
Contents
Penalties for Late Work .................................................................................................. 1
Penalties for Plagiarism .................................................................................................. 1
Working in Scrum Teams ............................................................................................... 1
Method of Assessment .................................................................................................... 1
Making a Claim for Credit .......................................................................................... 2
Five Minute Claim for Credit ..................................................................................... 2
Review Weeks ............................................................................................................ 3
After the Review Week ............................................................................................... 3
Unclaimed Credits ...................................................................................................... 3
Assignment 1 Implementing a Paper Based Design as a Three Layer Web Application 4
What is the purpose of this assessment? ..................................................................... 4
What you need to do ................................................................................................... 4
Assignment Roadmap ................................................................................................. 5
Marking Grid 1 ............................................................................................................... 6
Assignment 2 XML/XSLT –Layer Alternatives............................................................. 9
What is the purpose of this assessment? ..................................................................... 9
What you need to do ................................................................................................... 9
Assignment Roadmap ............................................................................................... 10
Marking Grid 2 ............................................................................................................. 11
Assignment 3 Collection Classes, Mapping and Controlling Table Data for Multiple
Users ............................................................................................................................. 13
What is the purpose of this assessment? ................................................................... 13
What you need to do ................................................................................................. 13
Assignment Roadmap ............................................................................................... 13
Marking Grid 3 ............................................................................................................. 14
Penalties for Late Work
Deadlines for each assessment are listed above. Failure to meet a deadline will result
in the normal penalties for late work being applied. Extensions will not be given
without clear third party evidence such as a Doctor’s note.
Penalties for Plagiarism
All work you submit should be original to you, created by you. Any questions of
authorship of any item of work will result in a plagiarism hearing with the possible
result of a zero grade for the module or even expulsion from the University.
Working in Scrum Teams
In meeting the requirements of the assessment there is a lot of work to complete and
many concepts to grasp. You are going to need all of the help you can get in order to
do well in this work.
In order to help you get to grips with the work you will be placed in SCRUM teams
based loosely on SCRUM development (Google it!). In the first week of an
assessment you will be placed in teams of 4 – 5 and you will need to identify what
work you need to achieve over the assessed period in order for you all to complete the
task individually. Over the course of seven days you will perform a sprint where you
all set about achieving your set tasks. During the course of the module you will have
regular meetings with your tutor where you make claims for credit. You should note
the weeks for these meetings on the schedule at the start of this document.
One task of your SCRUM team is to ensure that each member of your team is
working on a unique project. No two people may be working on the same / similar
projects and you should check with your tutor that the selected topics are acceptable.
If there is any reason why you are not able to work in a team then please discuss this
matter with your tutor.
Note that even though you are working in a team your work is still individually
assessed.
SCRUM teams may be modified at any point during the module by your tutor.
Method of Assessment
Your work will be assessed by viva. You have been provided with an eGrid
(electronic marking grid) which will be completed by your tutor as a result of them
interviewing you individually about your work. You have also been provided with an
eGrid log book which is your hard copy of the assessment process. Keep this safe and
do not loose it otherwise you may have to claim for marks again.
1
Making a Claim for Credit
To obtain marks you must make a claim for credit.
The first stage in making a claim for credit is to complete a section of your portfolio
work to a level where you consider it worthy of some marks. You may make a start
on any of the three portfolio tasks as early as you like, this allows you to take more
control of your work schedule.
Your tutor will award grades in the following bands for each part of the credit
category.
Absent 0 %
Poor 25%
Good 50%
Very good 70%
Perfect 100%
Each item of portfolio work has a specific deadline, the rules for claiming credits
change dependent on when you claim.
To obtain the top marks you will often be required to demonstrate a clear theoretical
grasp of what you are doing. Your tutor may devise questions on the spot to really
probe your understanding of the work.
Five Minute Claim for Credit
In the lead up to the deadline your tutor will draw up a schedule of team meetings.
Your tutor will allocate a maximum of fifty minutes per lab session to meet with
SCRUM teams. Each member of the team is allowed up to five minutes to claim
credits. Each member must make claims in turn and your tutor will cut the claim short
if you are not able to answer questions in a concise manner in the time allowed.
During these meetings a person may only claim a single credit category.
These meetings feed directly into the way in which your SCRUM team grade is
calculated. You need to document the meetings and get your tutor to sign the
documentation.
Making a claim for credit on work prior to the deadline allows you to claim credit for
work that is not completed. This allows you to make a start on a section of work, find
out what you need to do to improve and then claim for credit later on to improve your
grade.
2
Review Weeks
During the review week there will be no additional material delivered. Two weeks
are set aside and typically each team member will have about ten minutes to make
claims. At this stage you have already handed in the work and no changes are
allowed.
After the Review Week
Up until the review week the grade for a successful claim for credit is 100% once the
review weeks are completed the available viva marks will be reduced each week. This
means that the sooner you make a successful claim the better your grade will be. See
the front of this document for the schedule of viva marks.
You may make claims for outstanding credits during any week of the module and also
during subsequent review weeks.
Unclaimed Credits
At the end of the module it will be assumed that any unclaimed credits deserve zero
marks.
It is down to you to make sure that you claim all of the credits that you think you
deserve in plenty of time before the end of the module.
3
Assignment 1 Implementing a Paper Based Design as a Three
Layer Web Application
What is the purpose of this assessment?
In creating web based applications, architecture is of vital importance. The splitting
of software into layers is vital to scalability, security and maintenance. In this
assignment you will create and consider a stripped down three layer design. You will
see how the data for the application is stored in tables and accessed via stored
procedures. You will use a pre-prepared data conduit to access the data layer. This
data conduit will provide functionality to your own middle layer classes that allow
you to model the data in the database using object oriented technologies. The middle
layer classes you create will provide data related functionality to the code in your
presentation layer.
In addition to learning about layered architecture you will also learn how to program
in C sharp using the Visual Studio IDE (Integrated Design Environment). This will
introduce you to web forms, creating and using classes in C#, creating and using
stored procedures and tables in an SQL server database. At the end of this assignment
you should understand and be able to explain how all of these elements fit together
and how data is passed from one end of the system to the other. In addition to the
above you will create a class library allowing you to re-use your code on later
assignments.
What you need to do
Your task is to create a single page paper based design and implement that as a three
layer application in Visual Studio.
You will need to decide on a topic for your project. This may be some sort of ecommerce site, however you would be wise to discuss the topic with your tutor to
ensure that there is sufficient complexity.
Each member of your SCRUM team must be working on a different topic.
Within the scope of your project you will need to select a single class of object and
design a data entry form as a paper based design. For example, if you are creating a
site selling mobile phones then you would identify the phone as your single object.
Your next step is to use Visual Studio to create a suitable structure to support your
three layer application.
For example you will create components of the architecture that allow you to enter
data for a single phone and press a suitable button. Code associated with the button
will process the data and pass it to suitable classes that will save the details to a
database file. The data should be validated to ensure that the program does not crash.
4
You will need to create...






Your paper based design
A web form allowing the input of a single class
A class modelling the methods and properties of that entity
The data conduit configured to your requirements
A table with a suitable name and fields to store your data
A stored procedure allowing access to the table data
Assignment Roadmap
The details of the product should include as a minimum...






Product ID (This should be a unique number generated by the database)
Product name (text)
Product description (text)
Product price (decimal)
Model no (integer)
Date added (date)
Make note of the range of data types that need to be present in your design.
Upon pressing a suitable button on the interface the data should be passed to an
instance of a class of your design.
Your class should include at least two methods; one method to handle the update to
the database and the other method to handle validation.
5
Marking Grid 1
(See the eGrid for detailed weightings.)
1. Visual Studio Configuration
Visual Studio has been correctly configured to support development against a
three layered architecture
Presentation Layer
Class library
Data Layer
2. Paper Based Design
The paper based design is professionally presented with suitable annotations
making it clear how the system will work. The paper based design has been
implemented at all layers of the system.
Professionalism of presentation
Level of informative detail (annotations)
Implementation at all layers of the system
3. Presentation Layer
The web form validates the data entered and provides meaningful error
messages to the user. The controls on the web form are set up using a suitable
naming convention. Your presentation layer code is well documented. The
presentation layer code makes use of middle layer objects in such a way that it
has no idea of the database structure.
Validation and clarity of error messages
Selection and configuration of controls
Standard of documentation
Correct design and use of middle layer classes
6
4. Middle Layer
Your middle layer class has a suitable set of methods and properties and the
data conduit is fully encapsulated by the design. The class is well documented
and provides suitable functionality for the task at hand.
Use of naming conventions
Correct configuration of methods and properties
Standard of documentation
5 Data Layer
Your stored procedure is well documented and uses a suitable naming
convention. Your table design contains a set of suitably named fields all using
appropriate data types.
Standard of documentation
Correct use of naming conventions in stored procedure
Correct selection and range of data types in the stored
procedure
Appropriate selection and range of data types in the table
6 Theory
You are able to have a concise and clear discussion with your tutor on the
following topics
You have a clear understanding of the need for multiple layers
and the function of each layer
You are able to discuss some of the advantages and
disadvantages of alternative architectures
You are able to explain how a single item of data is passed
from the presentation layer to the data layer
You are able to explain with examples the nature of objects,
classes and instantiation
7
7 Creative Development
You should agree prior to the review week up to four areas of creative
development
1
2
3
4
8 SCRUM Team Engagement
Your tutor will judge your engagement with the work based on your
participation in team meetings. Team meetings consist of those with your
tutor where you claim credits and documented meetings out of class.
SCRUM team engagement
8
Assignment 2 XML/XSLT –Layer Alternatives
What is the purpose of this assessment?
One issue with internet software is that there are a large range of competing platforms
and technologies available. It is important to know how to make these different
technologies work with each other. An important core technology at the heart of web
based systems is XML. XML allows different systems to communicate with each
other providing a standard format for structuring data. The .NET framework provides
a number of classes that allow the control of XML. The separation of data from
presentation is an important feature of multi layer architecture. Even within a single
layer there may be other layers. For example splitting data from the presentation of
that data allows the application to use the same data on a range of different platforms.
For this assignment you will look at how the presentation and data layers may be built
on different technologies to the previous assignment. You will learn how an ASPX
file operates under ASP.NET and how it is processed by the client and the server.
You will see how the .NET classes allow us to control transformations of XML data
to other formats. You will learn how an XML document is structured and transform
the data using XSLT/XPath into an XHTML file. The resulting XHTML file will
allow you to perform simple form processing communicating with the server to filter
data. You will work with these documents at a low level so that you understand how
they are constructed and how they may interact with each other.
What you need to do
Setting up your Project
Create a new web site inside your solution suitably named to identify it as assignment
2. To this web site you will need to add a reference to your class library.
You will need to obtain the file XMLDataPack.zip from the module web site. Extract
the contents of the archive and you will find the files to get you started.




clsXMLConduit.cs
commercial.xml
commercial.xslt
commercial.aspx
Add this file to your class library
Place in your assignment 2 folder
Place in your assignment 2 folder
Place in your assignment 2 folder
You will need to create your own XML data matching the topic of assignment 1. This
data needs to be processed by an XSLT file and presented in a professional manner as
an HTML page.
9
Assignment Roadmap
10
Marking Grid 2
(See the eGrid for detailed weightings.)
1 HTML Form
You have created an HTML page that uses a query string to pass data to an
ASPX file. This page is professionally presented with the data set out in
meaningful columns.
You have created an HTML page that communicates to the
ASPX page using a query string
Your page is professionally presented
The data on your page is set out in meaningful columns
2 XML Data Conduit
You have constructed the XML Data Conduit which implements
AddParameter and Execute methods and the data returned by the XSLT file
is exposed by the QueryResults property. Your code is well documented and
naming conventions have been followed.
AddParameter
Execute
QueryResults
Correct use of naming conventions and high standard of
documentation
3 XML and XSLT
You have created your own XML data which is transformed using a suitable
XSLT file. The XML is well structured demonstrating the use of nodes etc...
The XSLT file is well structured and documented.
Correct use of tags elements and nodes
Use of attributes and values
Application of the five rules
11
4 Theory
You are able to have a concise and clear discussion with your tutor on the
following topics
You are able to explain the mechanisms that allow data to be
passed from the HTML form to the XSLT file and back
You are able to discuss some of the benefits of separating data
from presentation
You are able to discuss the use of .NET classes used for
transformations
You are able to discuss the nature and benefit of encapsulation
in the context of the first two assignments
5 Creative Development
You should agree prior to the review week up to four areas of creative
development
1
2
3
4
6 SCRUM Team Engagement
Your tutor will judge your engagement with the work based on your
participation in team meetings. Team meetings consist of those with your
tutor where you claim credits and documented meetings out of class.
SCRUM team engagement
12
Assignment 3 Collection Classes, Mapping and Controlling
Table Data for Multiple Users
What is the purpose of this assessment?
In completing the first assignment you will have seen how object oriented
technologies may be used to model a single record in a table. In order to perform any
meaningful tasks with a database it is essential also to be able to model entire tables of
date and manipulate them. In this assignment you will learn about collection classes
and how to implement add, edit and delete functionality. You will create a range of
stored procedures allowing you to perform the standard operations. You will also
take table data stored in a data table and model it in a collection class. This collection
class will be bound to a set of web forms allowing you to perform the standard set of
actions on a database. In addition you will need to give consideration to creating a
multi user system and the security considerations that come with it.
What you need to do
You need to extend your work for assignment 1 to turn it into a secure multi user
system. Your system must allow for adding, editing, deleting and listing of the data.
Each user on the system must have their own personal data. For example when user
A logs in they may add edit and view their own data. When user B logs in they will
also have access to their own personal data with no way of accessing the data
belonging to user A. Your design must be implemented in such a way as to allow
switching of database files.
Assignment Roadmap
13
Marking Grid 3
(See the eGrid for detailed weightings.)
1 Presentation Layer
You have created a suitable set of web forms for the task (allowing list, add,
edit and delete) that follow the naming convention with a high standard of
documentation for the presentation layer code. All data is validated with a
comprehensible level of error reporting. Any attempts to delete data require
confirmation from the user. Users should not be able to access certain pages
in the system without authorisation and should be re-directed to a single
point of entry if not logged in. Users should only be able to see the data for
which they are authorised. You should have implemented at least one
example of binding a list to a collection.
Controls conform to naming conventions and the code is fully
documentated
Web forms implement Add, Edit, Delete and List
Data entry is validated with meaningful error messages
Users must be authenticated to access the system with a single
point of entry
Users have their own private data which is not accessible to
unauthorised users
You are able to demonstrate the use of data binding
2 Middle Layer
You have created a suitable set of middle layer classes that provide
functionality to the presentation layer. You have a collection class that
allows for control and validation of data. You have modified the data
conduit in such a way that it inherits from data specific classes in your
middle layer e.g. OleDb & SQL Server.
Your data conduit is set up in such a way that it is possible to
switch database technologies
You have a suitable collection class that implements Add, Edit,
Delete and List
You have applied suitable unit testing to the components of your
site
14
3 Data Layer
You have created a set of suitably named well documented stored
procedures that provide functionality to the middle layer. You have created
tables that allow for storage of personal data for each user. The tables and
fields are suitably named with appropriate selection of data types.
Correct use of naming convention and documentation in stored
procedures
Correct naming and data types of parameters
Suitable naming of tables and fields
Selection of appropriate data types in tables
4 Theory
You are able to have a concise and clear discussion with your tutor on the
following topics
You are able to explain the function of the ADO.NET classes
used in the data conduit
You are able to explain the nature of SQL injection attack and
how your system overcomes this problem
You are able to discuss the nature of HTTPS
You are able to discuss some of the security considerations in
your design
5 Creative Development
You should agree prior to the review week up to four areas
of creative development
1
2
3
4
6 SCRUM Team Engagement
Your tutor will judge your engagement with the work based on your
participation in team meetings. Team meetings consist of those with your
tutor where you claim credits and documented meetings out of class.
SCRUM team engagement
15
Download