Sie sind auf Seite 1von 28

Sam Bohnel 5000717

Project 3 Portfolio
Sam Bohnel

Sam Bohnel 5000717

Contents Page
Logbooks
Week 1 Page 3/4
Week 2 Page 5/6
Week 3 Page 7/8
Project Report Page 9 14
120 CT: Linux Workshop Page 15/16
120 CT: Peripheral Devices Page 17/18
106 CR: Zippy Task Page 19
106 CR: Accessible Web Navigation Page 20
110 CT: C++ Task A Page 21/22
104 KM: SQL+ Task Page 23 27
104 KM: ER diagrams Task Page 28

Sam Bohnel 5000717

Notes: You must complete your logbook each week, reflecting on all areas of your course. This will aid you
in monitoring your progress throughout the year. You must fetch your completed logbook with you every
Monday for it to be checked and signed off by a member of staff during the project session.
Project Reflection: Write a summary of this weeks project tasks; what you learnt and how this
relates to other subjects you are studying; any difficulties you experienced and how you plan to deal
with them.
This was the first week of our 3rd project. We now have to use the Raspberry Pis we were given at the
start of the year. The first task of our project was to build our Raspberry Pis and then install our
operating systems. This was actually a fairly lengthy process as we only had one output cable to
display on our screens so we had to do it individually. We then had to set up a web server using our
Raspberry Pis using a Python HTTP Server. Obviously this is only the first week so it was kind of easing
us into the project.

Lecture Reflection: Write a reflection for each of your lectures. This should include on overview of the
topic presented and how it may relate to your project work.

Sam Bohnel 5000717

104KM:
This week we were introduced to database systems, briefly looking at SQL and mainly just an
introduction to database systems.

106CR:
In Design and Usability this week we looked at heuristics and some of the principles. As usual this
lecture was fairly interesting and I understood the information fine.

110CT:
This week we carried on looking at C++. We briefly recapped what we had already looked at in C++,
functions, switch statements Etc. we then had to complete an exercise to create a menu system.

120CT:
In Architecture this week we looked at Process Scheduling and Memory management. Some of this
information we had looked at whereas some was new information. After doing the weeks task I was
happy with this subject.

124MS:
This weeks lecture for Logic was ok; I found the information relatively easy to understand. We were
looking at possibility and tractability.

Any Other Comments:

Seen By:
4

Sam Bohnel 5000717

Notes: You must complete your logbook each week, reflecting on all areas of your course. This will aid you
in monitoring your progress throughout the year. You must fetch your completed logbook with you every
Monday for it to be checked and signed off by a member of staff during the project session.
Project Reflection: Write a summary of this weeks project tasks; what you learnt and how this
relates to other subjects you are studying; any difficulties you experienced and how you plan to deal
with them.
This was the second week of our 3rd projects. This week after gaining some knowledge on the pi and
setting up the web server, we looked further into our web servers. We placed 3 text files as well as
image files on our web server then coded in python so if on the web server the documents can be
downloaded. This weeks tasks were fairly interesting and I enjoyed the weeks task.

Lecture Reflection: Write a reflection for each of your lectures. This should include on overview of the
topic presented and how it may relate to your project work.

Sam Bohnel 5000717

104KM:
We carried on looking at SQL databases and did some exercises during the lecture. The main task for
the week was to create 3 tables in SQL which was fairly interesting and I found that after spending a
little bit of time on this the task was fairly easy to achieve.

106CR:
This weeks lecture for 106 was interesting as usual. We looked at standards based web design. This
lecture had quite a bit of information to take in but was all ok.

110CT:
In programming this week we continued looking at c++. In particular we looked at Compound Data
Types And Object Orientated Programming. We were introduced to this information then had to do
some exercises. We did an exercise to write a struct to store student details. This class was fine to do.

120CT:
In Architecture this week we were looking at computer networks and OSI model. This lecture was ok
but a lot of information. For this weeks task however we just did revision for the mcq.

124MS:
I missed this weeks lecture due to illness but have since gone over the slides and feel comfortable
with the information.

Any Other Comments:

Seen By:
6

Sam Bohnel 5000717

Notes: You must complete your logbook each week, reflecting on all areas of your course. This will aid you
in monitoring your progress throughout the year. You must fetch your completed logbook with you every
Monday for it to be checked and signed off by a member of staff during the project session.
Project Reflection: Write a summary of this weeks project tasks; what you learnt and how this
relates to other subjects you are studying; any difficulties you experienced and how you plan to deal
with them.
Now in week 3 of our projects and we are coming to the end. This week as a pair we coded the GUI
for the webserver using python so we could allow files from the web server to be imported into a
different directory. This weeks task was quite difficult we had to do some research in how to carry
out this weeks task. Towards the end of the week started producing the report for the project about
contributions, project planning and explaining the code.

Lecture Reflection: Write a reflection for each of your lectures. This should include on overview of the
topic presented and how it may relate to your project work.

Sam Bohnel 5000717

104KM:
In enterprise this week we carried on looking at SQL and just gaining more information for this as it
will come up in the mcqs aswell as the final exam.

106CR:
In 106 this week we looked at standards based web design, then also accessibility for websites and
assisters for people who need help navigating through a website. This lecture was enjoyable as was
the task as it was quite interactive and something different.

110CT:
This week we carried on looking at c++. In specific we looked at pointers and their use in code. We did
the lecture which was fine then did some exercises to help solidify this information.

120CT:
We started looking at computer networks and the OSI Model. This lecture was fairly interesting we
looked at network structures, application of networks. Then looked in detail at the OSI model. The
task for this week was just a revision exercise.

124MS:
This week in logic we were looking at the RSA algorithm and how it works, we also looked at
calculating powers. This lecture was fairly interesting and the information was fine to take in.

Any Other Comments:

Seen By:
8

Sam Bohnel 5000717

Project 3 Report
Work Allocation

As a pair we divided up the project work evenly. In terms of being responsible for project
management we both took turns in being project leader which was very useful for experience. We had
both done project management before and were comfortable with this. We both took 2 weeks of being
project leader this included assigning tasks, organizing meetings at the start of the week etc.

Together as a pair we were both responsible for placing the different files on the web server. We
placed 3 text files, 3 image files, 3 audio files and 3 video files on the web server. We split the coding of
importing files into 2. We both wrote code to allow the user to import files from the webserver.
Sam Was responsible for setting up the raspberry Pi and setting up the web server. Every time the
IP address was changed due to a different PC I was responsible for editing the code.
Jake Was responsible for creating the GUI. Jake coded the GUI as well as conducting background
research on how to create this.
Project Management

At the beginning of the project we outlined some of the tasks we already knew we had to complete
and planned for these accordingly. For example in the first week we had set up the Raspberry PI, OS
and create the web server so we split these tasks up and were able to carry out these tasks fairly
quickly. As a pair we decided to use Waterfall methodology in order to plan our project. Obviously this
is a very short project only 4 weeks long. Therefore, we decided with waterfall as it allowed us to
follow a sequential pattern and do each task weekly. We would have a weekly meeting at the
beginning of the week in which we would briefly discuss last weeks work and then set out specific
tasks for us to do throughout the week. As we have both used Waterfall methodology before and were
comfortable with using it and we feel it catered to the needs of the project we were doing we saw it as
the perfect model to use.

Sam Bohnel 5000717

Project Code

This is the code that we write for importing the text files from the web server. This was done using the
template on moodle. I will now briefly explain the code. On line 2 the url is the location of the file
hello.txt, the location is at the IP address 10.0.76.4 and the port is 8000. fname is the name of the file
we want to retrieve and rename when the file is imported. The file will be renamed to hello1.txt
finally we are reviving the file from the given location.
This is the code for importing the text files. We also have the code for importing video, audio and
image files, as follows.
Image Files

10

Sam Bohnel 5000717

Sound and video files

GUI code

11

Sam Bohnel 5000717

12

Sam Bohnel 5000717

This screenshot shows the finished GUI. As you can see by clicking on the import file button we
created all files that are on the web server will be imported into the GUI folder by default.

The GUI starts off with importing the Tkinter module that is pre-installed into the machine. Then we
have to obviously create a window for us to lay down our features. Then we create the title of the
window. We then have to create a function for the button which is to import the file from the web
server to a local directory. We created one functions specifically when the button is clicked, more of
them, specifically 4 functions, each for different file types, to import the files from the server and the
other function was to change the text in the button after it is clicked. The functions of importing files
have been altered every time the server changes its IP address. We then have to create one last
function in the code which run all the necessary of the functions explained above simultaneously. And
finally, we have to create a button for the user to press for the function to work.
Project Reflection

Overall we feel this was a successful project. We were able to put our skills learned from 110-CT
about python into practice and this enabled us to also learn more about python. This type of project
was new to both of us, setting up a web server, however at the end of the project we were pleased
with the results. Obviously this is the third and final project and differed from the previous 2 as we
were now working as pairs as opposed to larger groups. This definitely benefited us as
communication was much easier and we were able to split the work up nicely. The main skills as I
mentioned that we used were our python skills learned in programming. However we used skills such
learned from 120-CT also when we had to set up the Raspberry Pis, install the OS and set up the web
server. These were initial tasks we had to do in week one but were very useful. We also used skills
learned from Design and Usability when making the GUI. We had to think about certain things we had
learned about making a user friendly GUI. I feel as though working in a pair helped us a lot and for this
particular project was more beneficial than say working in a group of 5. Also the fact it was a shorter
13

Sam Bohnel 5000717

project was useful. I feel even though this was a short project we had a lot of relevant work in the
project whereas with the other 2 projects there were some tasks that we didnt find benefited us.

14

Sam Bohnel 5000717


120-CT - Linux Workshop

This screenshot shows that I am using the more programme.

By pressing the space bar it displays more of the programme. As seen at the bottom 71 % of the programme
is displayed.

15

Sam Bohnel 5000717

Now using the more programme, I have completed the tasks. I have created a sub directory called here.
This screenshot shows the commands I had to do.

16

Sam Bohnel 5000717

120-CT Peripheral Devices


Samsung U6 2GB MP3 Player

The Samsung U6 2GB MP3 Player is part of the Yepp U series a line of USB key mp3 players produced by
Samsung and released in 2010, with the first in the series the U1 being released in 2005. The player is
available in a 2gb or a 4gb version and is the first in the series to have a colour screen. The UI Samsung
used for the device derived from the previous U5 version. Instead of plastic for the casing the U6 used
aluminium anodized casing. The device uses a new sound engine the SoundAlive which missed features
other Samsung devices had previously.
Nintendo Wii Remote

The Nintendo Wii remote which obviously belongs to the Nintendo Wii is a controller used to play the
console. The remote was first produced in 2006 and came with each console. Some of the components of
the controller included a 16 KiB EEPROM chip, speaker, usb connection. The main feature of the wii remote
is the motion sensor capability in which the user interacts with the console through the controller using
gestures and pointing. This is achieved by the use accelerometer and optical sensor technology. The
controller has now been passed over to the Wiis new console the Wii U due to its large popularity.
Development of the control began back in 2001 taking nearly 5 years to produce the final version. The
design of the control is to fit in one hand of the user and the sizing for this at 5.8 inches long and 1.4 inches
wide and 1.2 inches thick. The control provides basic audio and rumble functionality and has an
independent speaker. The remote is also powered using 2 AA batteries lasting approximately 60 hours.
IBM Model M computer keyboard (mid 80s, early 90s)
Model M keyboard was first created in 1984 by IBM. Other manufactures also produced the keyboard such
as Lexmark. Different manufacturers had different variations however the majority had characteristics such
as buckling-spring key design and also the ability for swappable keys. Model M keyboards are still being
used and produced now by Unicomp. The main advantages for the user is that the keyboard is very durable
and unlikely to break (this caused problems for Unicomp in making profit). Model M keyboard is used
widely by Computer enthusiasts due to its tactile and auditory feedback resulting from a keystroke. It is
17

Sam Bohnel 5000717

regarded as a timeless and durable piece of hardware. The computers and peripherals that were produced
with the model M keyboard are no longer in use however the keyboard still is. There has been several
variations to the original model M keyboard, with the most popular variation the Space Saving Keyboard
option which integrates the numpad into the main part of the keyboard.

18

Sam Bohnel 5000717

106 CR - Zippy Task


1.
The specification states: If the server is busy, it may take up to 30 seconds to retrieve a
result page however it does not indicate that the user will be given any indication of that wait.
This contravenes Nielsens rule 1 - Visibility of system status the system should always keep users
informed about what is going on, through appropriate feedback within reasonable time.
2.
There is no help or indication for the section the user has to input; City, State and zip code.
Ideally there could be a drop down box for city and state and possibly a template for zip code.
3.
There isnt a help button to help the user if a problem arises.
4.
There is inconsistency in the font size/type/style etc.
5.
When the user enters an invalid zip code they are presented with an error message. The
problem should not be there in the first place as they should make it impossible to enter the wrong
zip code( template/drop down box, as I mentioned) as its simple to overcome.

19

Sam Bohnel 5000717

106 CR Accessible Web Navigation


Issues

When trying to navigate to the website it was difficult to understand the narrator at some points due
to the robotic style. This can be quite difficult for somebody who is visually impaired and has to use
text to speech.
Obviously this method is more time consuming than just navigating through the website normally
therefore this became a bit frustrating and tedious.

Actually finding and turning on the text to speech was quite difficult to do and became frustrating as I
wasnt totally comfortable with it.
Conclusion

In conclusion this process seems quite difficult for somebody who is disabled and it is quite hard for
someone to navigate through a large website using this method

20

Sam Bohnel 5000717

110-CT Task A

Class
Classes are a collection of related data and function under a single name. Classes are data structures that
contain data members but also contain functions. In C++ classes are defined using class or struct. In a C++
programme there can be any number of classes. In C++ a class is split into two files, the first file defines
what member functions and data members the class will have, the second part of a class gives the code for
the function bodies.
Struct
A data structure is a group of elements grouped together under one name and are defined as struct. These
data structures can have different lengths and types. For example using struct allows the user to group
variables of mixed data types together into a single unit. Structs are user defined therefore the user has to
tell the compiler what the struct is. This is done by declaring struct using the keyword struct.

Function Vs Method
A function is a group of statements that is given a specified name by the user and can be called in the
programme. Every C++ programme will have at least one function which is main(). Using functions allows
code to split up and each function will have a different task. An example of defining a function looks like
this.

In terms of Function vs Method the difference between the 2 is that a method is a member function of a
class and functions are stand alone. The two are very similar however.
Integer
An Integer defined as int in C++ is where whole numbers are stored.
Float
A float or floating point is used to define numbers with fractional parts. The float type can represent
values ranging from approximately 1.5 1045 to 3.4 1038with a precision of 7 digits.
(http://cplus.about.com/od/introductiontoprogramming/g/floatdefn.htm)
Double

21

Sam Bohnel 5000717

A double is a bigger float type that contains larger and more precise numbers. Double variables are
8 bytes in size. The range of values is from 2.225073858507202010308 to 1.797693134862315710308
(http://cplus.about.com/od/glossar1/g/doubledefn.htm)

22

Sam Bohnel 5000717

104 KM - SQL Task


Table 1 Departments

This screenshot shows how I created the first Table in SQL.

This is the created table in SQL. I searched for the table using desc and the table is then outputted.

23

Sam Bohnel 5000717

Table 2 Employees

This screenshot shows the creating of the Table Employees and also the created table.
Table 3 Jobgrades

This screenshot shows the creating of the Table Jobgrades and also the created table.

24

Sam Bohnel 5000717

Table 1 with Data Inputted

This screenshot shows evidence of creating the table and the final table with the date input.

25

Sam Bohnel 5000717

Table 2 with Data inputted


This screenshot shows evidence of me inputting the data.

This screenshot shows the table with the data input.

26

Sam Bohnel 5000717

Table 3 with Data inputted


This screenshot shows evidence of me inputting the data.

This screenshot shows the table with the data input.

27

Sam Bohnel 5000717

104 KM ER diagrams
Entities
Her Majesty's Coastguard
Helicopter rescue base
British Coastline
Senior Helicopter pilot
Helicopter
Rescue mission
Attributes
Her Majesty's Coastguard Location, Employee details,
Helicopter rescue base unique number, address and contact number, helicopter
British Coastline Location
Senior Helicopter pilot- Name, Nationality, Contact number, helicopter they pilot
Helicopter Registration code, name, make, senior pilot
Rescue mission location, time/date , number of pilots/helicopters
Relationships
Helicopter rescue base many to many (a helicopter base may have multiple locations)
British Coastline
Senior Helicopter pilot one to many (a senior pilot may pilot one or more helicopters or none)
Helicopter one to many (a different pilot is assigned to different helicopters)
Rescue mission many to many (a mission may have multiple pilots and each pilot may take part in
multiple missions)
ER diagram

Senior helicopter
Pilot

Helicopter

28