联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codehelp

您当前位置:首页 >> Java程序Java程序

日期:2021-05-04 02:35



Programme: BSc Applied Computing
Module Code: KF6034
Module Title: Object Oriented and Web Programming
Distributed on: Monday 17th February 2020
Submission
Time and Date:
To be submitted by 14:00 BST on Tuesday 12th May 2020
Word Limit: For part A (Specification and Design) – 1000 words
For part C (Reflective Report) – 1000 words
Weighting This coursework accounts for 50% of the total mark for this module
Submission of
Assessment
For parts A and C: Via TurnitIn accessed from the link in the Assessment
section on eLP (more detailed instructions below)
For part B: Via eLP (Blackboard) and by uploading to newnumyspace account
(more detailed instructions below)
It is your responsibility to ensure that your assignment arrives before the
submission deadline stated above. See the University policy on late
submission of work.





Page 2 of 15





General Information
This assignment constitutes 50% of the assessment for this module. It is in two parts, one of which leads to
the other. The aims of the assignment, which will lead you to the fulfillment of the module learning
outcomes, are to:
? Develop a practical web solution using the PHP server-side scripting language and including
dynamic web content by retrieving and manipulating data stored in a MySQL relational database and
XML files.
? Justify the design of your web database system with reference to relevant literature

Your work, for all parts of the assignment, must be your own and, where you have used words from
someone else (quotations), they should be correctly quoted and referenced in accordance to the Harvard
(Northumbria) System.

Referencing and academic writing support
If you require guidance on citation, use the guide ‘Cite Them Right’ available from
http://www.citethemrightonline.com/

For more support on academic writing and citation, you can also attend the Library’s Northumbria Skills
Programme or access Skills Plus via the Library tab on the eLP (Blackboard).

Part A – Specification and Design (20%)
This part of the assignment covers the following module learning outcome:

? Specify and design web database systems with justification

Part B – System Development (60%)
This part of the assignment covers the following module learning outcomes:
? Build the presentation layer of multi-tier applications using an appropriate scripting language (e.g.
PHP or Java).

? Integrate and test software components that reside on either a web or database server

Part C – Reflective Report (20%)
This part of the assignment covers the following module learning outcome:

? Critically reflect on the methodologies and tools used in developing solutions to programming
problems.



The deadline for all parts is Tuesday 12th May 2020 (no later than 2pm). Detailed submission
instructions are below on page 12.

Page 3 of 15





Scenario
You are writing a system for clients to be able to import, save, retrieve and export information from book
recommendation lists containing individual book details. The final system in production will ultimately allow
multiple book recommendation lists to be imported. However for this assignment as the system is at the
prototype phase, there is only one xml file of recommended books that you need to import and display which
is at the following link: http://unn-cgel1.newnumyspace.co.uk/booklists/booklist.xml.

Note: In order to view the XML structure from this feeds, it is recommended that you view the source of the
page in the browser, e.g.
view-source:http://unn-cgel1.newnumyspace.co.uk/booklists/booklist.xml.
You can also see a sample of the XML in the Appendix of this assignment.

You should use SimpleXML to access the XML file, extract the relevant XML and then reformat it in the way
required. A list of the book details from the XML file should be displayed on the main page of your site in
HTML and each title should link to the webpage where the book can be purchased on Amazon.co.uk (this
link is provided in the xml file). This listing page should be available to all users. It represents the most
recently imported recommended book list for the site.

If a user logs in to the system then, additionally, they should be able to save the reference to any books so
that they can create their own lists of books in a ‘my book list’ page. They should also be able to retrieve any
previously saved book details from this list, add new books and also delete them.

Please note that you may not be able to implement all the requirements that follow; this is to be expected.
With a technical assignment such as this the requirements include some quite difficult parts that only a very
strong student will be able to complete – this allows us to give a range of marks appropriate to ability. Look
at the marking scheme on pages 7-11 for some idea of the breakdown of marks.

Part A –Specification and Design (20%)

You need to first consider relevant literature regarding the usability and interface design of websites and
present some colour wireframes for your proposed solution annotated with key information relating to the
interface design.

The wireframes should be accompanied by a short report justifying your design choices which draw on
references from relevant literature regarding usability and recommendations for effective interface design for
websites (using Harvard referencing). This document should be no more than 1000 words in length.

Marking
This component of the assessment is worth 20% of the total marks available for the assignment.

The criteria used for its marking will include:
? The completeness and appropriateness of design documents (i.e. annotated wireframes)
? The level at which the literature is analysed and relevance of the usability and interface design
issues explored and justified
? The use of references and examples from relevant literature to support the work.
? Citation and the use of Harvard referencing

The detailed marking scheme for part A is on page 7 of this assignment brief.





Page 4 of 15






Part B – System Development (60%)
Overview
Read the XML structure in Appendix one which shows an example feed with the items that are the articles.
This will help you better understand some of the detail that follows.
Your website should be well-designed with a professional look and feel. You should use HTML5 for this
assignment. You will need to implement the following:
? A common header and footer for all pages displayed so that all pages in the site have a consistent
look and feel.
? The homepage should list all the book details from the XML file in the form of HTML. The XML
elements you should display for each item element are: book title, author, year published, description
and link.
? You should use SimpleXML only, none of the other php libraries, to access the XML file, extract the
relevant XML and then reformat it in the way required.
? A search box on the homepage listing, allowing partial matching by book title or author using Xpath.
Then only books matching the search criteria will be displayed on the front page.
? A means of accessing an Amazon.com webpage for the particular book when the link from the front
page is clicked.
? A means by which a registered user can login which should be available from the homepage. You
should use PHP sessions to manage persistence of the login state across all pages and store the
date/time of the login.
? A means by which a user, but only if logged in, can save book details to the saved_books database
table (see accompanying database creation script on eLP) using PDO commands.
? A means by which a user, but only if logged in, can retrieve and display any previously saved book
references from the saved_books database table using PDO commands.
? A means by which a user, but only if logged in, can delete any previously saved book references
from the saved_books database table using PDO commands.
?

Specifics
Logging In
Registered users should be able to login and logout, via a facility available from the front page. Any one of
the three registered users (see the database table ‘members’) should be able to log in by typing their email
and password (their login details are in the SQL script provided and in Appendix 2 below).
Note that, for security, the passwords are stored on the database in encrypted form.
Once logged in you should ensure persistence across all pages by using PHP sessions.
You must also store the date/time of the login to the lastlogin field of the members table.
Logging in will mean that the user has access to the menus and functionality for saving and retrieving books
and book lists. Logging out should clear all session information.

Front page
Your site should have its own header and footer. The header area should contain appropriate system titles
or images and menu options and a means of logging in and out. Show each book from the XML book list
feed in an appropriate, well-designed layout, displaying the book title as the hyperlink, accompanied by the
author, description and year published.

Remember, if the user is logged in extra menu items and functionality are available. Books can be saved to
a ‘my book list’ area by means of appropriate form elements (such as checkboxes, links or buttons) on the
front page alongside the list of books.

You should also be able to link to a list of saved books (‘my book list’ area) for the specific logged-in user.

Page 5 of 15






There should be a search box on the front page. By default, the page should display ALL of the retrieved
books, but what is listed will change in response to the Xpath search, if one is performed.


Saving the Book Details to the User’s Book List
You need to implement a means for a logged in user to save the references to multiple books in one action
to the database for further reference, e.g. by selecting a checkbox next to each book’s details. A partial
solution which would receive fewer marks would allow one book at a time to be saved to the book list. The
user should not be allowed to save the same book twice to the book list.

When a book is saved you should add to the database table called ‘saved_books the following data for each
book:
? book title, link, author, description and year published
? bookid (this must uniquely identify a book. Use the bookid data here which represents the book’s
ISBN, i.e. unique identifier)
? a means of linking the logged-in user to the saved book
? the date that the book was saved to the user’s book list

Note: If you haven't been able to write the code correctly which lists the articles directly from the XML file
using SimpleXML, you could hard-code the book details. This would allow you to demonstrate that you can
save the books to the database, and attempt partial marks for this section.

Listing User’s Book List Items
There should be a menu option, only available to logged-in users, that will list the user’s book list (i.e. their
saved books) from the database.


Deleting Saved Books from the Book List
You need to implement a means for a logged in user to delete multiple saved books in one action from the
database, e.g. by selecting a checkbox next to each saved book’s details. A partial solution which would
receive fewer marks would allow one book at a time to be deleted.

Export Book List to XML file
There should be a means for members to be able to export their own book list details to an XML file. This
XML file should have the same format as the one provided in the assignment for importing data. You should
use file writing commands to create this XML file which should be named ‘exported_booklist.xml’ with today’s
date prefixed (at the front) of the filename in the format ddmmyyyy.

Note that all pages should validate without any HTML errors as reported by http://validator.w3.org using the
HTML5 standard. All database access must be via PDO with the connection details stored separately in an
included/required file or class. Prepared statements should be used for database access.

The client will be using a MySQL database. The SQL database scripts and associated files needed are all
in the assignment folder on eLP (Blackboard).

* You must use SimpleXML for all XML interactions, and PDO for all database connectivity. You will
lose marks if you do not.

Marking
This component of the assessment is worth 60% of the total marks available for the assignment. The
marking scheme for part B is on pages 8-10 of this assignment brief.


Page 6 of 15






Advice
Please make sure you plan your code and the way different components will work together before you start
writing any code.

Make sure your code is indented and commented – your comments should be written first – writing
pseudocode which become comments help make sure your code makes sense.

Attempt all parts, it’s easier to get a few percent at the start of a question than get those last few percent
trying to get a perfect solution to one part. In short getting less than half marks for all parts is better than
getting almost full marks on only one part.

Even if you don’t get all the XML parts working, though you probably should, don’t miss out those parts that
require you to save things to the database. Even if some of the data is ‘hard-coded’ dummy data – you may
get some marks for that.


Part C – Reflective Report (20%)
You must also write a reflective report (of no more than 1000 words in length) where you can generalise from
specific failures or successes what you have learnt in order to take forward in future software development.
What surprised you most? What do you wish you knew when you started? How could you have avoided
problems that you encountered during development?
1. Evaluation: what do you regard as the successes and failures of the development: unresolved
design problems, performance problems, etc? Identify which features of your system are the
important ones. Point out design or implementation techniques that you are particularly proud of.
Discuss which support tool(s) you used and their strengths and weaknesses.
2. Lessons: You should critically discuss the programming features that caused problems. What
lessons did you learn from the experience? Consider how you might do it differently a second time
round, and how any faults of the design and implementation may be corrected.
3. Known Bugs and Limitations: In what ways does your implementation fall short of the
specification? Be precise. Although you will lose points for bugs and missing features, you will
receive partial credit for accurately identifying those errors, and the source of the problem.


Marking
This component of the assessment is worth 20% of the total marks available for the assignment. The
marking scheme for part C is on page 10 of this assignment brief.

版权所有:留学生编程辅导网 2021,All Rights Reserved 联系方式:QQ:99515681 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。