View
13
Download
0
Category
Preview:
Citation preview
Electronic Greeting Card
Thesis/Report submitted in partial fulfilment of the requirement
For the degree of
B.Sc.
In
Information Technology
By
Ifeanyichukwu Uzodinma
To
The Department of Computer Science
Baze University, Abuja
April 2015
DECLARATION
This is to certify that this Thesis/Report entitled Electronic Greeting Card which is
submitted by Ifeanyichukwu Uzodinma in partial fulfilment of the requirement for the
award of degree for B.Sc. in Information Technology to the Department of Computer
Science, Baze University Abuja, Nigeria, comprises of only my original work and due
acknowledgement has been made in the text to all other materials used.
Date: 24th April 2015 Name of Student: Ifeanyichukwu Uzodinma
APPROVED BY …………………
Dean
Faculty of Computing and Applied Sciences
ii
CERTIFICATE
This is to certify that this Thesis/Report entitled Electronic Greeting card, which is
submitted by Ifeanyichukwu Uzodinma in partial fulfilment of the requirement for the
award of degree for B.Sc. in Information Technology to the Department of Computer
Science, Baze University Abuja, Nigeria is a record of the candidate’s own work carried
out by the candidate under my/our supervision. The matter embodied in this thesis is
original and has not been submitted for the award of any other degree.
Date: Supervisor:
iii
DEDICATION
This project is dedicated to my parents who have been the source of inspiration and
support throughout my life. I would like to thank them for all the support and prayers that
they offer on my behalf. I pray that God grant them all their hearts desires and
expectations.
iv
ACKNOWLEDGEMENT
First I will start by thanking the Almighty God for the sound health He has granted to me
and the Grace He has shown me from the day I was born to this day.
I would like to show my sincere and utmost appreciation to Mr E. Kvac for his guidance,
advice and ever presence in making sure that I finished this project. There were times
when I seemed lost and didn’t know what to do, but he was always there encouraging me
and brainstorming with me to solve mind-bogging problems. Thank you so much Mr
Kvac!
I would also like to thank Dr Godfrey Ekata. Just as Mr Kvac was helping me become a
better programmer, Dr Ekata was helping me become a better report writer and project
manager. I also want to say a big thank you to all my lecturers in the Computer Science
Department. I appreciate all the knowledge you have impacted in me which has helped
me reach the stage that I am in now. May God bless you all.
My deepest regards goes to my family, who have always supported and exercised
patience with me. My special thanks goes to my father, who knows the value of
education and made sure I got the best education, and who taught me the value of hard
work, perseverance, and patience. Also, I want to say a big thank you to my mum who
has always supported me with kind words and valuable advice about life. She has always
been there to give me a soft landing when I fall. Thank you so much, mum. To my
brothers: sincere gratitude and thanks to you for being my brothers and for being there for
me; I couldn’t ask for better band of brothers. I pray that God will grant you all your
heart’s desire. Amen.
I also want to use this medium to sincerely thank the Dean of my department Prof
Gerrard McKee for the standard he set in the faculty of Computing and Applied Sciences.
v
Lastly I want to thank all my friends for the life lessons and support they gave me. They
taught me how to live and respect people from different backgrounds. I appreciate the
happy and sad moments we shared together.
vi
ABSTRACT
Electronic greeting card companies, with the aid of the internet made it possible for their
customers to design/customise a card online, and send it to whomever you want.
Although the system the system presented in this project might seem similar to the
systems already in place but they are different.
The Electronic Greeting Card system for this project comes in two parts; the website and
the mobile application. The website part of the system would allow the users of the
system to customise greeting cards while the mobile part of the was developed for
windows mobile phone users, they would be able to use the mobile application part of
this system to record either audio or video and attach the recorded audio to the card that
has been customised on the website.
The main goal behind this project is to make it possible for users to customise a card and
send the card to a recipient. The users can decide to attach a media file in the form of
mp3 or mp4 to the card.
vii
CONTENTS
CHAPTER 1: INTRODUCTION..............................................................................................................11.1 OVERVIEW....................................................................................................................................................11.2 PROJECT MOTIVATION...............................................................................................................................11.3 CURRENT SYSTEM......................................................................................................................................11.4 PROBLEM STATEMENT..............................................................................................................................21.5 PROPOSED SYSTEM....................................................................................................................................21.6 DEFINITION OF TERMS, ACRONYMS, ABBREVIATIONS........................................................................31.7 PROJECT LIMITATIONS............................................................................................................................41.8 PROJECT ORGANIZATION...........................................................................................................................4
CHAPTER 2: LITERATURE REVIEW.................................................................................................52.1 ELECTRONIC COMMERCE (E-COMMERCE):.....................................................................................................52.2 MOBILE APPLICATIONS:.....................................................................................................................................6
2.2.1 Past of Mobile Application.................................................................................................................... 72.2.2 Present Uses of Mobile Application................................................................................................... 8
2.3 GREETING CARDS................................................................................................................................................82.3.1 The History of Greeting Cards............................................................................................................. 82.3.2 Electronic Greeting Cards...................................................................................................................... 9
CHAPTER 3: REQUIREMENT............................................................................................................113.1. REQUIREMENTS SPECIFICATIONS.................................................................................................................11
3.1.1 Functional Specifications.............................................................................................................. 113.1.2 Non-Functional Specifications.................................................................................................... 12
3.2 HARDWARE REQUIREMENTS..........................................................................................................................123.3 SOFTWARE REQUIREMENTS...........................................................................................................................12
CHAPTER 4: DESIGN........................................................................................................................... 144.1 DESIGN OVERVIEW..................................................................................................................................144.2 SYSTEM ARCHITECTURE..................................................................................................................................144.3 STORYBOARD DESIGN.............................................................................................................................154.4 ENTITY-RELATIONSHIP DIAGRAM (ERD)..........................................................................................174.5 USE CASE DIAGRAM (MOBILE AND WEBSITE)..................................................................................184.6 ACTIVITY DIAGRAMS...............................................................................................................................204.7 SEQUENCE DIAGRAM...............................................................................................................................22
4.8 User Interface Design...................................................................................................................... 24
CHAPTER 5: IMPLEMENTATION.................................................................................................... 265.1 OVERVIEW.................................................................................................................................................265.2 IMPLEMENTATION STAGES.....................................................................................................................265.3 API.............................................................................................................................................................265.4 DATABASE.....................................................................................................................................................275.4 USER INTERFACE.....................................................................................................................................30
5.4.1 Homepage.................................................................................................................................................. 305.5 TECHNICAL PROBLEMS ENCOUNTERED.......................................................................................................345.6 SOLUTIONS TO TECHNICAL PROBLEMS........................................................................................................34
CHAPTER 6: TESTING......................................................................................................................... 356.1 TEST OVERVIEW......................................................................................................................................356.2 UNIT TESTING...................................................................................................................................................356.3 INTEGRATION TESTING...................................................................................................................................35
viii
6.3.1 BIG BANG INTEGRATION TESTING............................................................................................................366.5 SYSTEMS TESTING............................................................................................................................................36
6.5.1 Usability Testing................................................................................................................................ 376.6 TEST CASE REQUIREMENTS...................................................................................................................376.7 TEST CASE PROCEDURES........................................................................................................................386.8 TRACEABILITY MATRIX...........................................................................................................................426.9 TEST ASSESSMENT...................................................................................................................................436.10 TEST RESULTS................................................................................................................................................436.11 SUGGESTED ACTIONS.....................................................................................................................................43
CHAPTER 7: CONCLUSIONS.............................................................................................................. 447.1 ACHIEVEMENTS........................................................................................................................................447.3 FUTURE ENHANCEMENTS.......................................................................................................................447.4 SUMMARY..................................................................................................................................................44
REFERENCES....................................................................................................................................... 46
APPENDICES........................................................................................................................................ 48APPENDIX A –PROJECT SCHEDULE.......................................................................................................................48APPENDIX B – OTHER RELEVANT DOCUMENTS................................................................................................50
ix
LIST OF FIGURESFigure 2.1................................................................................................................................................................. 6Fig. 2.2....................................................................................................................................................................... 8Figure 4.1 System Architecture for the mobile.....................................................................................15Figure 4.2 System Architecture for the Web..........................................................................................16Figure 4.3: Website Homepage.................................................................................................................... 16Figure 4.4: Mobile Storyboard..................................................................................................................... 17Figure 4.5: Mobile Storyboard..................................................................................................................... 17Figure 4.6: ER Diagram.................................................................................................................................. 18Figure 4.7: Mobile Application Use Case diagram..............................................................................19Figure 4.8: Website Use Case diagram.....................................................................................................20Figure 4.9: Mobile Application Activity diagram.................................................................................21Figure 4.10: Website Activity diagram....................................................................................................22Figure 4.11: Mobile Application Sequence diagram..........................................................................23Figure 4.12: Website Sequence diagram.................................................................................................24Fig 4.13 Screen shot of Mobile Application Homepage.....................................................................25Fig 4.14 Screen shot of Website Homepage...........................................................................................26Fig 5.1 Mobile Application Database Provider Code..........................................................................28Fig 5.2 Mobile Application Database Provider Code Continued...................................................29Fig 5.3 Website Database Initialiser Code..............................................................................................30Fig 5.4 XAML Code for the mobile application Homepage..............................................................31Fig 5.5 XAML Code for the mobile application Homepage Continued........................................32Fig 5.6 HTML Code for the Website Homepage....................................................................................33Fig 5.7 Mobile Application Homepage preview in Design View....................................................34Fig 5.8 Website Homepage preview in Design View...........................................................................34Fig 6.1 Big bang integration testing.........................................................................................................37
LIST OF TABLESTABLE 1 FUNCTIONAL REQUIREMENT SPECIFICATIONS..............................................................................11TABLE 2 NON-FUNCTIONAL REQUIREMENT SPECIFICATIONS.....................................................................12Table A1: Project Schedule....................................................................................................................................... 48
x
CHAPTER 1: INTRODUCTION
1.1 Overview
Just as the Internet has made significant improvements in its uses, so has some of the uses and activities
associated with it brought with it. An example of such uses is electronic commerce and mobile commerce.
People no longer have to stand in long queues waiting for a service because just about anything can be
bought/done on the Internet from the comfort of one’s home.
The main idea behind the Electronic Greeting Card project is that the users can customise the card they
intend to send to someone and attach a medium in the form of mp3 or mp4 file to the card before sending it
to the recipient.
The Electronic Greeting Card software or system has two parts: the mobile application part and the web
application part. The web application part allows the users to choose a card from the categories of card
available, and then customise the card. The mobile part allows the user to record either mp3 or mp4 and
attach the recorded media to the customised card before sending the card to a recipient.
1.2 Project Motivation
Before this project was embarked on, an informal survey was carried out to find out the number of people
that signed onto their Facebook account on their windows mobile phone. Out of 90% that have Facebook
accounts 75% of them log onto Facebook app from their mobile phones.
Not many people can remember the birthday of everyone they know but applications like the Facebook
always sends a message to its users to remind them of their friend’s birthday. Motivation to build a project
that allows its users to customise an electronic greeting card, attach a medium and send to a recipient was
derived after noticing how the Facebook app makes it a point to remind its users about birthdays of people in
their friend list. So instead of worrying that one might have forgotten about an event, one can simply use the
website and the Electronic Greeting Card application to customise a card and attach a medium to make it
more personal and send the card.
1.3 Current System
The current system available are similar websites that allow their users to choose the kind of card that they
want to customise from a list of cards. The users then customise selected cards to send to a recipient.
1
1.4 Problem Statement
There are two main problems that this system will solve and these problems are:
I. Information Overload and
II. Media Recording
I. Information Overload: the current systems have too much information that the users might not be
interested in. A user wants to easily find the information that they want on a website but the current
systems in place have so much information that some of the users give up on using the system before they
even begin. The current systems in place does not cater for novice computer and internet users. To solve
this problem, the Keep It Simple Stupid (KISS) design principle was applied.
II. Media Recording: Although the current systems in place allow the users to customize cards, they do not
bring with them a sense of intimacy or connection from the sender to the receiver of the card. Which is one
of the problems the proposed system will be solving and to solve this problem, the system will have a
mobile application part to it that would allow users to record audio or video and attach it to the card that
they have customised on the website.
1.5 Proposed System
The proposed system is an electronic greeting card website that is supported by a windows phone mobile
application. The website consists of the cards that the user will select from and customize while the Windows
phone end allows the user to record audio or video and upload it to the card that was customized on the site.
The user will be able to customise any card from the range of card categories available and they can use the
mobile application part of the system to record an mp3 or mp4 and attach it to the card that they have
customised and send the card to the email address of whomever they customised the card for or whomever
they want to send the card to.
2
1.6 Definition of Terms, Acronyms, Abbreviations
C sharp, HTML and XAML is the computer programming language that was used to develop this system.
ERD – Entity Relationship Diagram: this diagram is a representation of the entities and their relationship
within a particular system, it is usually in the form of a graphical representation of that system.
DFD – Data Flow Diagram: this diagram shows how data/information flows in a particular system.
IDE – Integrated Development Environment: this is a software development environment or interface that
helps software developers to develop their software and sometimes also provides a testing environment for
the developed software.
SRS – Software Requirements Specification: this describes the requirement expected of the software under
development.
E-Commerce – Electronic Commerce: in layman terms e-commerce involves the buying/rendering of
goods and services electronically usually making use of the internet.
HTML- Hyper Text Mark-up Language: it is a programming language that is used for creating web pages.
XAML - Extensible Application Mark-up Language: this is a programming language developed by
Microsoft, it makes it easier for developers that want to develop .NET framework applications.
SDK- Software Development Kit: this is a software programming package that helps a software developer
to develop software applications for a particular platform.
ASP.NET – Active Server Pages: this is a server side script engine, among the first that was developed by
Microsoft and it is used for creating or generating dynamic and interactive web server applications.
3
1.7 Project Limitations
There are two limitations facing this project and they are:
I. Deployment of the Website: the website developed wasn’t deployed, that is there isn’t a
URL in place for the developed site, so it is not live. To test the website Internet Information
Services Express (IIS Express) was used, IIS Express helps developers of softwares to
develop their software and test it on any compatible web browser. It works really well with
ASP.NET and PHP applications and since this website has elements of ASP.NET it seemed
like logical choice to use IIS Express.
II. Deployment of the mobile application: the application developed wasn’t deployed to
Microsoft windows play store so it can’t be downloaded. The testing of this application was
done using the emulator provided by visual studio update 4 IDE.
1.8 Project Organization
The remaining parts of this project report describe the literature review in Chapter 2, requirements in Chapter
3, design in Chapter 4, implementation and method in Chapter 5, and testing in Chapter 6. Other areas
covered in the remaining the last chapters include conclusions, limitations, and suggested improvements for
the system.
4
CHAPTER 2: LITERATURE REVIEW
2.1 Electronic Commerce (e-commerce):
Due to the rate at which the internet has grown, it has brought along with it different business/commerce
ideas, one of the business ideas it gave birth to is the idea of buying products or services over the internet.
Scholars calls this idea of buying goods and services over the internet electronic commerce or as popularly
known e-commerce. (Akintola et al, 2011).
In electronic commerce the customers will usually interact with a system, in most times it’s a web based
system using their electronic devices like laptops, mobile phones etc. to shop for either goods or services
from where ever they are.
Riggins and Rhee, 1998 carried out a survey to find out what practitioners and managers of e-commerce
think it is and the survey showed that they see it as buying and selling of services/products with the aid of the
internet.
But researchers believe that e-commerce shouldn’t just be seen as buying goods and services over the
internet, they felt that it should encompass activities that go on before a sale is made and the activities that
goes on after the sale.
Hence this definition of e-commerce by Zwass, 2003, p1 which says that as “… the sharing of business
information, maintaining business relationships, and the conducting business transactions by means of
telecommunications networks” (Zwass, 2003, p1)
The field/discipline known as e-commerce is made of the following types of information technology:
1. Electronic Data Exchange (EDI)
2. Electronic Mail (e-mail)
3. Electronic Bulletin Boards
4. Electronic Fund Transfer (EFT)
5. Other Network-based technologies
5
Figure 2.1: Convergence of different information technology to create E-Commerce (E-Commerce –
Overview, P1)
In the early 1970’s the growth of e-commerce applications started with electronic funds transfer (EFT), in
this case there were computer system which carried out electronic financial transactions. These types of
applications had limited functionalities because only organisations that dealt in financial transactions used
them, organisations like banks. (Ynarsale , 2011).
Then in the late 1970s Electronic Data Exchange (EDI) was developed in order to care of the limitations that
was discovered in the EFT. Because of this development/enhancement organisations/companies that wanted
to participate in using the system increased, some of the companies came from different fields like
manufactures, retailers, others. This kind of system that allows automatic flow of information between
different organisations is referred to as Interorganizational System (IOS) (Ynarsale, 2011).
Just as briefly mentioned above Interorganizational Systems allow information to flow freely and
automatically between different organizations in order to achieve a common objective, the object can come
in different forms like achieving a preferred supply-chain management, systems like this helps organizations
that want to expand to do so with little amount of effort. (Ynarsale, 2011).
The growth of e-commerce wouldn’t just stop at EDI, it would go on to include data warehousing and mining
and also the popular enterprise resource planning (ERP) and this is what it did.
6
The word that is very popular today that is electronic commerce was created in the early 1990s when the
internet became accessible to everyone, and users started trying to leave a mark in the World Wide Web, this
gave rise to applications of electronic commerce. (Ynarsale, 2011).
One of the first examples of the application of EC was the Boston Computer Exchange, this was created in
the year 1982 and it was a market place for buying and selling of second-hand computers. It was an example
of many-to-many electronic commerce just like E-Bay is today.
Another example is of the first online information marketplace which included services like consultations
that could be done online. The name of the company was American Information Exchange and there system
was introduced in 1991. (Ynarsale, 2011).
E-commerce has truly come a long way, since 1995 the applications of it has been numerous, these
applications range from users simply buying and selling to them trying to learn online. The number of
organizations that have an internet presence is enormous. (Ynarsale, 2011).
E-commerce just like everything about technology and the internet has evolved over the years by feeding on
revolutions in EFT, supply chain management, internet advertising, processing of transactions online etc.
In this modern age, electronic commerce must use the internet at some point in the transaction’s life cycle,
even if sometimes it may involve a whole range of different technologies. Some electronic commerce
activities are carried out completely online without waiting to any delivery to be made to the customer, some
of these kind of transaction are buying an electronic book/journal, paying for a premium content online,
designing/customising electronic greeting cards etc.
(Akintola et al, 2011)
2.2 Mobile Applications:
Everyone who has used a smart phone or a mobile device like a tablet has used an application at one time or
the other. Mobile applications are easy to download; some are free and some are not. Some of them allow
users to play games, get directions, access books, weather, music, videos etc. So mobile applications are
software programs that can be downloaded and access directly using phone or mobile devices like a tablet.
The success of mobile applications are usually judged by its users, a user determines if a mobile application
is a success or a failure. One of the fundamental requirements of every mobile application is its usability and
these usability sometimes depends on some factors such as the resolution of the screen, storage space of the
7
mobile, internet connection issues etc. If a developer develops a mobile application that will require internet
to work for a mobile phone that can’t connect to the internet, the users will likely brand the application a
failure.
The mobile phone companies realised this as a problem and have been trying to develop and make better
mobile phone devices that have better screen resolution, added storage space, more processing power, better
internet connectivity etc. and by making these better, they hope to deliver an environment that will support
the modern day mobile applications (Islam et al, 2010).
“
”
Fig. 2.2 Growth of the various categories of mobile applications from 2009 to 2010 (eMarketer, 2010)
2.2.1 Past of Mobile Application
At the early stages of cell phones, the applications that these phones had then were simple games like the
snake game, simple calculators that just handled simple numeric calculations and some of them also had the
alarm clocks. At the time as long as a user can make and receive calls, send text messages, the user is happy.
By 2000 mobile phone developers wanted to give users something out of the box, they started thinking of
Internet based mobile application where people can connect their mobile devices to the Internet for daily
important uses (Islam et al, 2010). But this was only an idea because at that time the companies making the
cell phones were also the ones developing the mobile application, so they were slowing things down which
made a hole amongst the mobile phone developers and their customer. (Islam et al, 2010). Meanwhile in
USA a company made an announcement that they will be soon launching a mobile phone that will change the
mobile phone industry and this company is iPhone and they actually did manage to change the mobile device
8
industry. Because of the announcement there was a lot of anticipation for the phone and finally when it was
released it easily over took its competitors and became the most sought after mobile phone and within a
couple of years after its release other cell phone companies started adapting their mobile phone to be able to
compete with the iPhone mobile phone. (Islam et al, 2010).
The iPhone didn’t just over take its competitors due to its sleek looks, it overtook them because of its main
attribute which is its platform that different types of dynamic applications to run on it based on the internet,
iPhone also bought applications from developers rather than follow the traditional way of developing the
applications themselves.
Nokia followed up with the launch of its application store called the “Ovi Store”, the store allowed users to
download applications that they like.
The steps these cell phone companies made in involving developers in the development of their cell phone
applications opened a path for application developers to develop application that would use the internet and
sell the developed applications to mobile phone companies. (Islam et al, 2010).
2.2.2 Present Uses of Mobile Application
Since the last few years every mobile company has been making smartphone phones and increasing the
computing power of those mobile phones, thus rapidly increasing the number of smart mobile applications.
Most of the people from developed countries including America and Europe as well as some developing
countries can’t imagine leaving home without mobile (Islam et al, 2010).
Some of the major areas that the use of mobile application has been on the rise are in communication such as
internet browsing, voice chat, Facebook, Twitter etc. Now every standard mobile has a Facebook application.
Users can share messages and photos with their friends and family from anywhere and any place like in car,
in train. People can now use the messenger application for chatting. Users can generate call to anywhere in
the world with low cost using VoIP application and internet. (Islam et al, 2010).
Then there is the Global Positioning System (GPS); Current position locating in map, Road navigation,
vehicle tracking etc. are the most common uses of applications that use GPS system. Using mobile commerce
users can view product, select product and order for product. Sometime mobile application Mobile Wallet
uses in restaurant or market for completing payment. (Islam et al, 2010). According to comScore’s MobiLens
study, the total number of mobile app users in the US increased by 28% from April 2009 to April 2010.
9
2.3 Greeting Cards
2.3.1 The History of Greeting Cards
The idea of sending greeting cards can be tracked back to ancient Chinese and Egyptians, during New Year
they exchanged good will messages to celebrate the New Year and they usually convey this greetings on a
papyrus scroll. (Greeting Card Association 2014).
The Exchange of paper greeting cards in Europe started in the early 1400s. The Germans are known to have
started printing their new year’s greeting from woodcuts in the 1400s and handmade paper valentines were
being exchanged in various parts of Europe in the mid-1400s. (Greeting Card Association 2014).
“….although the first known valentine card can be traced back to 1415, it wasn’t until the early 1800s and the
Penny Post that they became popular and affordable….” (Greeting Card Association 2014)..
A young woman by the name of Esther Howland from Massachusetts, was the first publisher of a valentines
card in the United States (Greeting Card Association 2014)..
“…..She sold her first handmade valentine in 1849, eventually establishing a successful publishing firm
specializing in the elaborately decorated cards…” (Greeting Card Association 2014).
Fig 2.3 First Handmade Card by Esther Howland
2.3.2 Electronic Greeting Cards
The first postcard site was created by Judith Donath in the late 1994 at the MIT Media Lab (Foth, 2011). It
started very slow with only: 10-20 cards a day which were sent in the first few weeks, then 1000-2000 a day
10
over the first summer, and then it gained momentum really fast. During the 1995-96 Christmas season, there
were days when over 19,000 cards were sent; by late spring of 1996 over 1.7 million cards had been sent in
total. (Foth, 2011).
The source code for this service was made publicly available, with condition that users share improvements
with each other.
Although the idea of sending an electronic greeting cards might sound good because it will save time, in
some cases cheaper, it can also have be very risky and one of the risks people might face is the issue of
security.
Sending an E-card to a recipient involves giving the email address of the recipient to a third party which is
the web service providers. The web service provider has the chance to misuse this address
One way they can misuse the e-mail address is if the E-card service provider sends advertisements to the
recipient's address. Under the anti-spam rules used by major internet service providers, such advertisements
would be spam, since the recipient never asked or opted in to receive them.
11
CHAPTER 3: REQUIREMENT
3.1. Requirements Specifications
The list of requirements mentioned below was produced by putting into account the purpose and scope of the
project and some of the requirements were extracted from the story board and the entity relationship diagram
(ERD). It will show a comprehensive description of what the system is supposed to do and the environment
for the system being developed
3.1.1 Functional Specifications
Table 1 Functional Requirement Specifications
Req. No. Description
R-01 The system shall display all cards available
R-02 It shall have an interactive and easy user interface
R-03 The navigation from a page to another on the website
shall take less than 0.3 seconds
R-04 The system shall display the cards in a list view
R-04A The system shall allow a user to select a card from the
view list.
R-05 The system shall allow the customers to customise
cards
R-06 The user shall be able to record mp3 or mp4 using the
mobile application part of the system
R-07 The system shall let users register their personal
details
R-08 The system shall allow users to preview recorded
media
R-09 The system shall allow users to edit customised cards
R-10 The system shall allow users to attach media to
customised cards
R-11 The system shall provide a shopping cart for the user
to add their customised card
R-12 The system shall allow the admin to add cards
R-13 The system shall allow the admin to add/update the
12
categories of cards on the website
R-14 The system shall recognise admin credentials
R-15 The system shall protect the users from making
irreversible errors like inputting invalid data.
3.1.2 Non-Functional Specifications
Table 2 Non-Functional Requirement Specifications
Req. No. Description
R-01 The system shall be readily available to the user.
R-02 The system shall have a consistent look and feel.
R-03 The mobile application part of the system shall be user
friendly and compatible to most windows phone devices.
R-04 The user interface shall be user-friendly and easy to use
for both novices and experts.
R-05 The database shall be able to accommodate modification
R-06 The system shall be stable (that is it should not crash
when in use)
R-07 The website part of the system shall be compatible with
different browsers
3.2 Hardware Requirements
Laptop
Windows Mobile Phone
3.3 Software Requirements
C# language
HTML language
XAML
Microsoft Visual Studio
SQL Lite Browser
SQLite PCL (portable class library)
13
CHAPTER 4: DESIGN
4.1 Design Overview
This section consists of diagrams in the form of UML diagrams that describes the interaction between the
user and the system. It will also show UML diagrams that depicts the development of the system, some of the
diagrams include the Story-board, the system architecture, the Use-case, activity diagram and sequence
diagram
4.2 System Architecture
Figure 4.1 System Architecture for the mobile
15
Figure 4.2 System Architecture for the Web
4.3 Storyboard Design
A Storyboard is a sequence of drawings usually consisting of dialogues that represents the design of a
system; it is also a set of images that show the functionality of a system. Figure 4.3 below shows the
storyboard for the website homepage and the mobile application
Figure 4.3: Website Homepage
16
4.4 Entity-Relationship Diagram (ERD)
The ERD diagram illustrates the entities and attributes of tables in a database. Linked ERD’s show the
relationship between tables or tables. Entities can only have a many-to-one or one-to-many relationship.
CUSTOMEREmailAddressPasswordName
MEDIAemailaddress (FK)datetimemedianamefilename
RECEIVERReceiverEmailAddress
CardEmailAddress (FK)emailaddress (FK)ReceiverEmailAddress (FK)Datetimedatetime (FK)CardType
Figure 4.6: ER Diagram
18
4.5 Use Case Diagram (Mobile and Website)
The Use Case diagram shows the interaction between the user and the system. It uses a use-case description
to document the interaction between a user and the system. The diagrams below depict the use-case for this
system.
Figure 4.7: Mobile Application Use Case diagram
19
4.6 Activity Diagrams
An activity diagram is used for modelling tasks, describing functions of a system represented by the use-case.
It also describes the logic of a task and models the activities that make up the life-cycle of a process.
Figure 4.9: Mobile Application Activity diagram
21
4.7 Sequence DiagramA sequence diagram is an interactive diagram, which shows interaction between key components of the
system in a timed structure. It shows the messages being passed by objects followed accordingly in a timely
process.
Figure 4.11: Mobile Application Sequence diagram
23
CHAPTER 5: IMPLEMENTATION
5.1 Overview
The implementation process of this system was carried out after the design phase has been completed. During
the development phase, Visual Studio was used as the development platform, and in addition this IDE
supports the use of C#, XAML, HTML programming languages, which has been used to implement the
system and its functions
5.2 Implementation Stages
The implementation stages for this application include:
Requirement Gathering
Preliminary Design
Detailed Design
Coding
Unit Testing
System Design
Coding
System Testing
Usability Testing
Deployment
Maintenance and enhancement
5.3 API
The API that was used in the development of this project is Visual studio with update 4.
The API handles how the elements on the interface of the project interact with each other. It also defines how
the developer accesses functions and functionalities within a device.
27
5.4 Database
The database of this system was the first functional aspect of implementation that was done, since this
system is divided into two parts, the database for each one was different, the database for the mobile
application was designed to insert the recorded media, preview the media, delete the media and
retrieve a media from it to upload to the website and the database for the website was designed to
store the cards, put the cards in a category, save customised cards and store user details. Below is a
few lines of code which shows some of the database codes for both the mobile application and the
website.
Fig 5.1 Mobile Application Database Provider Code
28
Fig 5.3 Website Database Initialiser Code
For the rest of the initialiser code refer to Appendix B
30
5.4 User Interface
5.4.1 Homepage
The homepage is the first page that the user encounters on any system, the homepage for the website and
mobile application of this system has been designed to be aesthetically pleasing to its users. When the
homepage of any system is pleasing to the user, they always tend to stick around longer on that system to
know more of the system and use the system, which was the aim for this system when it was being developed
as this would help create a good first impression for the system.
Below is an image which shows the C# code behind the homepage interface design.
Fig 5.4 XAML Code for the mobile application Homepage
31
Fig 5.7 Mobile Application Homepage preview in Design View
Fig 5.8 Website Homepage preview in Design View
34
5.5 Technical Problems EncounteredDuring the implementation phase of this project, some of the issues encountered were:
Adapting to a new development environment, which I had to learn on my own. Considering the
timeframe, it proved to be a challenging task.
Getting the recorded media to display in a list view
Installing the correct version of SQLite browser
Upgrading from visual studio update 2 to visual studio update 4
5.6 Solutions to Technical Problems
All problems were eradicated by surfing online, reading discussion forums and watching tutorial videos and
getting advice from my project supervisor.
I was able to get some really good online tutorials and videos which helped me learn about windows phone 8.1
mobile application development.
I watched tutorial videos that explains how to migrate from visual studio update 2 or later versions to the most
recent version which visual studio update 4.
I read articles on Microsoft forum that illustrates how to download and install the latest version of SQLite
browser into a project.
35
CHAPTER 6: TESTING
6.1 Test OverviewAccording to Myer (2004), testing is “a process, or a series of processes, designed to make sure computer
code does what it was designed to do and that it does not do anything unintended”, and Naik and Tripathy
(2008) said, “software testing is the verification process for software quality assessment and improvement”.
The types of tests that was carried in this project include:
Unit Testing
Integration Testing
System Testing
Usability Testing
6.2 Unit Testing
In unit testing, each individual unit/component is tested and validated to make sure that they perform as they
were designed. According to Visual Studio .NET(2003) “the idea behind unit testing is to isolate the
unit/component from the general component and determine if it behaves the way it is expected to behave or if
further work should be done on it.” In other to carry out this unit testing, white box testing technique was
used in performing the test.
6.3 Integration Testing
The ideology behind integration testing is to test combination of units. One of the main advantages of
integrated testing is that, it identifies problems that occur when units are combined.
Visual Studio .NET (2003) explains integration testing as “a logical extension of unit testing, here two
components that have been tested already are combined into a component, the interface of these two
combined units/components is then tested. In a realistic scenario, many units are combined into components,
which are in turn aggregated into even larger parts of the program. ”
36
6.3.1 Big Bang Integration Testing Big bang testing is a type of integration testing, most books refer to it as big bang integration testing.
Inexperienced developers of small systems/software that are not familiar with testing tends to do more of big
bang integration testing than any other type of testing. In this kind of approach the individual components of
the software are not integrate until everything is ready. The inexperienced developers go with the “Run it and
see” approach
Below is an image of big bang integration testing:
Fig 6.1 Big bang integration testing
6.5 Systems Testing
When systems testing is about to be carried out that means the exit criteria for integration testing has been
met and the entry criteria for system testing has be fulfilled. Here the system testing is testing the software
product that has been fully and completely integrated into a finished product.
In system testing the requirements of the system that is being tested is inspected to make sure that the system
abides by the requirements that was set out for it.
Under systems testing, usability testing was carried out.
37
6.5.1 Usability Testing Usability testing generally emphases on how the application is easy to use by the customers/users and the
ability of the application to meet a set of targets/objectives. After development, this system was tested by real
users who gave feedback on what they liked and what they would like to see as a further development, some
of the testers where students, lecturers and friends.
6.6 Test Case Requirements
Reqt. # Description Comment Priority Reviewers Approval/DateR-01 The home page for the website
shall give visitors an overview of the website
Level I implementation
4 Victor/Pocha James 12/01/2015
R-02 The home page for the mobile application shall give visitors an overview of the mobile application
Level I implementation
4 Victor/Pocha James 12/01/2015
R-03 Clicking the app icon shall open the app
Level I implementation
4 Victor/Pocha James 12/01/2015
R-04 Users shall be able to navigate back and forth between the pages on the website
Level I implementation
3 Victor/Pocha James 12/01/2015
R-05 Users shall be able to navigate back and forth between the pages on the mobile application
Level I implementation
3 Victor/Pocha James 12/01/2015
R-06 The user shall be able to customise cards on the “design card” page
Level I implementation
5 Victor/Pocha James 12/01/2015
R-07 The users shall be able to record media using the mobile application
Level I implementation
5 Victor/Pocha James 12/01/2015
R-08 The main menu bar shall be located on top of the home page just below the logo.
Level 2 implementation
2 Victor/Pocha James 12/01/2015
R-09A user shall be able to add customised cards to cart
Level 2 implementation 4
Victor/Pocha James 12/01/2015
38
6.7 TEST CASE PROCEDURES
Test Suite ID RS-MTP #101Test Case ID #1Test Case Summary Does the homepage give visitors an overview the websiteRelated Requirement R-01Prerequisites Must open site
Test Procedure1. Open a Browser2. Type the site url3. Check the homepage for overview of the website
Test Data Electronic Greeting Card websiteExpected Result The homepage should display an overview of websiteActual Result The homepage displays an overview of websiteStatus Pass Remarks(if any) Responsive and Easy to use.Created By Uzodinma IfeanyichukwuDate of Creation 12/01/2015Executed By Uzodinma IfeanyichukwuDate of Execution 21/04/15Test Environment The environment (Google Chrome)
Test Suite ID RS-MTP #101Test Case ID #2Test Case Summary Does the homepage give visitors an overview of mobile applicationRelated Requirement R-02Prerequisites Must deploy and run application
Test Procedure 1. Click the app logo2. Check the homepage for overview of the application after it loads up
Test Data Electronic Greeting Card Mobile ApplicationExpected Result The homepage should display an overview of the applicationActual Result The homepage displays an overview of applicationStatus Pass Remarks Responsive, Simple and Easy to use.Created By Uzodinma IfeanyichukwuDate of Creation 12/01/2015Executed By Uzodinma IfeanyichukwuDate of Execution 21/04/15Test Environment The environment (Windows Mobile Phone)
39
Test Suite ID RS-MTP #101Test Case ID #3Test Case Summary Does the application open when the app logo is clickedRelated Requirement R-03Prerequisites Must deploy app to windows mobile phone
Test Procedure 1. Click the app logo
Test Data Electronic Greeting Card Mobile ApplicationExpected Result The app will open and lead to splash screen and then the home pageActual Result The homepage displays after the app icon is clicked and the splash screen showsStatus Pass Remarks(if any) Responsive and Easy to use.Created By Uzodinma IfeanyichukwuDate of Creation 12/01/2015Executed By Uzodinma IfeanyichukwuDate of Execution 21/04/15Test Environment The environment (Windows Mobile Phone)
Test Suite ID RS-MTP #101Test Case ID #4Test Case Summary Users should be able to navigate back and forth between pages on the websiteRelated Requirement R-04Prerequisites Must open site
Test Procedure1. Open a Browser2. Type the site url3. Try navigate back and forth the website pages
Test Data Electronic Greeting Card WebsiteExpected Result The users should be able to navigate between the website pagesActual Result Navigation between pages on the website was possible Status Pass Remarks(if any)Created By Uzodinma IfeanyichukwuDate of Creation 12/01/2015Executed By Uzodinma IfeanyichukwuDate of Execution 21/04/15Test Environment The environment (Google Chrome)
40
Test Suite ID RS-MTP #101Test Case ID #5
Test Case Summary Users should be able to navigate back and forth between pages on the mobile application
Related Requirement R-05
Prerequisites Application must be deployed and run
Test Procedure1. Open application2. Navigate back and forth the application pages
Test Data Electronic Greeting Card Mobile ApplicationExpected Result The users should be able to navigate between the mobile application pagesActual Result Navigation between pages on the application was possible Status Pass Remarks(if any)Created By Uzodinma IfeanyichukwuDate of Creation 12/01/2015Executed By Uzodinma IfeanyichukwuDate of Execution 21/04/15Test Environment The environment (Windows Mobile Phone)
Test Suite ID RS-MTP #101Test Case ID #6Test Case Summary The user should be able to customise card on the websiteRelated Requirement R-06Prerequisites Must be logged on to the site
Test Procedure
1. Open a Browser2. Type the site url3. Go to the design card page4. Customise card
Test Data Electronic Greeting Card WebsiteExpected Result The User should be able to customise a card on the websiteActual Result The User was able to customise card on the websiteStatus Pass Remarks(if any) Easy to use.Created By Uzodinma IfeanyichukwuDate of Creation 12/01/2015Executed By Uzodinma IfeanyichukwuDate of Execution 21/04/15
41
Test Environment The environment (Google Chrome)
Test Suite ID RS-MTP #101Test Case ID #7Test Case Summary The user should be able to record media using the mobile applicationRelated Requirement R-07Prerequisites Deployed and running
Test Procedure1. Open application2. Click record mp3 or mp43. Record the media
Test Data Electronic Greeting Card Mobile ApplicationExpected Result The user should be able to record mediaActual Result The user was able to record mediaStatus Pass Remarks(if any) Responsive and Easy to use.Created By Uzodinma IfeanyichukwuDate of Creation 12/01/2015Executed By Uzodinma IfeanyichukwuDate of Execution 21/04/15Test Environment The environment (Windows Mobile Phone)
Test Suite ID RS-MTP #101Test Case ID #8
Test Case Summary Check to see if the main menu bar is located on top of the home page just below the logo
Related Requirement R-08
Prerequisites The test bed must be provided
Test Procedure1. Open a Browser2. Type the site url3. Check if the location of the main menu bar is the same as specified.
Test Data Electronic Greeting Card WebsiteExpected Result The main menu bar shall be located on top of the homepage just below the logoActual Result There is no LogoStatus Fail Remarks(if any) NilCreated By Uzodinma IfeanyichukwuDate of Creation 12/01/2015Executed By Uzodinma IfeanyichukwuDate of Execution 21/04/15Test Environment The environment (Google Chrome)
42
Test Suite ID RS-MTP #101Test Case ID #9Test Case Summary Check to see if the user is able to add customised cards to cardRelated Requirement R-09Prerequisites Must be logged in
Test Procedure
1. Open a Browser2. Type the site url3. Log in using credentials4. Navigate to design card page5. Customise card6. Add customised card to cart
Test Data Electronic Greeting Card WebsiteExpected Result The user should be able to add customised cards to cartActual Result The user was not able to add customised card to cartStatus FailRemarks(If any) NilCreated By Uzodinma IfeanyichukwuDate of Creation 12/01/2015Executed By Uzodinma IfeanyichukwuDate of Execution 21/04/15Test Environment The environment (Google Chrome)
6.8 TRACEABILITY MATRIX
Reqt. #
Description Priority Test Case #
Test Date Test Result (P/F)
R-01 The home page for the website shall give visitors an overview of the website
4 1 21/04/2015 Pass
R-02 The home page for the mobile application shall give visitors an overview of the mobile application
4 2 21/04/2015 Pass
R-03 Clicking the app icon shall open the app 4 3 21/04/2015 Pass
R-04 Users shall be able to navigate back and forth between the pages on the website
3 4 21/04/2015 Pass
R-05 Users shall be able to navigate back and forth between the pages on the mobile application
3 5 21/04/2015 Pass
R-06 The user shall be able to customise cards on the “design card” page
5 6 21/04/2015 Pass
R-07 The users shall be able to record media using the mobile application
5 7 21/04/2015 Pass
R-08 The main menu bar shall be located on top of the home page just below the logo.
2 8 21/04/2015 Fail
A user shall be able to add customised cards 9 21/04/2015 Fail
43
R-09 to cart 4
6.9 Test Assessment
The type of test that was carried out is a system test, this tests was carried out according to the requirements specified, and using the specified requirements test case and test procedures was generated and those documents shows that the test was extensive, precise and properly executed.
6.10 Test Results
Number of tests carried out = 9
Passed tests = 7
Failed tests = 2
Deviations:
Test Case Id #8 deviated from expected test case, which made the test a failure
6.11 Suggested actions
In other to resolve the failures, the developer should create the logo as suggested in the requirements test case and also make it possible to add customized cards to the cart.
44
CHAPTER 7: CONCLUSIONS
7.1 AchievementsThis project has been successful as goals that were set out at the start of the project were accomplished and
almost of requirement stated were tested to be working. During the course of this project, I have acquired a
lot of skills that comes in the form of a requirements analyst, software developer, software tester and many
more other skills. I have also been able to improve my programming skills as I had to learn and do a lot of
coding on my own during the implementation phase of this project. Due to time constraint of the project I
have had to effectively plan my time and resources in order to achieve optimum efficiency and result in my
work production, which is a testament to how much I have improved my project management skill, and I
have successfully developed a simple and “easy to use” project which would aid people in customising
personal and intimate greeting cards.
7.3 Future EnhancementsEvery project has to give room for further development and enhancements and this project have not been left
behind in that sense.
Some of the enhancements this project can benefit from are:
Better designed interfaces
Make the mobile application to be available on android phones as it is only available on windows
phone at the moment
Make it possible for the user to add their customised card to the cart and come back some other time
to edit/delete or send the card.
7.4 SummaryOverall while this has been a challenging task, it has equally been a fascinating task and a very good learning
experience. The creation of this project has been challenging in the sense that the project requirements,
designs, implementation, development, testing and documentation all had to be done and produced within
three months, and it is fascinating in the sense that I have gained a lot of satisfaction and knowledge with the
work I have accomplished on this project.
This project has been designed to serve as an electronic greeting card customisation website and mobile
application. The project was developed putting digital natives and digital migrants in mind; what this means
45
is that novice technology users can easily use this project as proficiently as an expert user. One of the reasons
why this is so is the amount of work put in to make the project look simple but sophisticated.
46
REFERENCES
1. . 2014. [ONLINE] Available at:
http://sumnerk.tripod.com/mywebsite/courses/internet_ec/paper_1.pdf. [Accessed 30 October 2014]
2. 2014. [ONLINE] Available at: http://gvsu.edu/business/ijec/docs/zwass-20031.pdf. [Accessed 30
October 2014
3. 2014. [ONLINE] Available at: http://www.arpapress.com/volumes/vol9issue2/ijrras_9_2_18.pdf.
[Accessed 30 October 2014]
4. E-Commerce Overview. 2014. E-Commerce Overview. [ONLINE] Available at:
http://www.tutorialspoint.com/e_commerce/e_commerce_overview.htm. [Accessed 30 October 2014]
5. CHAPTER Auto Saved). 2014. CHAPTER Auto Saved). [ONLINE] Available at:
http://www.scribd.com/doc/54996097/CHAPTER-Auto-Saved. [Accessed 30 October 2014]
6. 2014. [ONLINE] Available at: http://www.ijens.org/107506-0909%20ijet-ijens.pdf. [Accessed 31
October 2014]
7. Mobile Social Networking Drives Rising App Usage - eMarketer . 2014. Mobile Social Networking
Drives Rising App Usage - eMarketer . [ONLINE] Available at:
http://www.emarketer.com/Article.aspx?R=1007757. [Accessed 31 October 2014]
8. From Social Butterfly to Engaged Citizen: Urban Informatics, Social Media ... - Google Books. 2014.
From Social Butterfly to Engaged Citizen: Urban Informatics, Social Media ... - Google Books.
[ONLINE] Available at: http://books.google.com.ng/books?id=pT-
PyZEoVykC&pg=PA499&redir_esc=y#v=onepage&q&f=false. [Accessed 31 October 2014]
9. Inhabiting the virtual city: Sociable information spaces. 2014. Inhabiting the virtual city: Sociable
information spaces. [ONLINE] Available at:
http://smg.media.mit.edu/People/Judith/Thesis/SociableInfoSpaceCh.frame.html. [Accessed 31
October 2014]
10. History . 2014. History . [ONLINE] Available at:
http://www.greetingcard.org/AbouttheIndustry/History/tabid/72/Default.aspx. [Accessed 31 October
2014]
11. Myers, G. J. (2004). The Art of Software Testing, Second Edition. John Wiley & Sons, Inc., 2004.
[ONLINE] Available at: http://www.noqualityinside.com/nqi/nqifiles/The%20Art%20of%20Software
%20Testing%20-%20Second%20Edition.pdf. [Accessed 21 April 2015].
12. Software Testing and Quality Assurance: Theory and Practice - Kshirasagar Naik, Priyadarshi
Tripathy - Google Books. 2015. Software Testing and Quality Assurance: Theory and Practice -
47
Kshirasagar Naik, Priyadarshi Tripathy - Google Books. [ONLINE] Available at:
http://books.google.com.ng/books?
id=neWaoJKSkvgC&printsec=frontcover&source=gbs_ge_summary_r&cad=0#v=onepage&q&f=fal
se. [Accessed 21 April 2015].
13. Unit Testing. 2015. Unit Testing. [ONLINE] Available at:
https://msdn.microsoft.com/en-us/library/aa292197 (v=vs.71).aspx. [Accessed 21 April 2015].
14. Integration Testing. 2015. Integration Testing. [ONLINE] Available at:
https://msdn.microsoft.com/en-us/library/aa292128 (v=vs.71).aspx. [Accessed 21 April 2015].
15. What is Big Bang integration testing?. 2015. What is Big Bang integration testing?. [ONLINE]
Available at: http://istqbexamcertification.com/what-is-big-bang-integration-testing/. [Accessed 21
April 2015].
16. What is System testing?. 2015. What is System testing?. [ONLINE] Available at:
http://istqbexamcertification.com/what-is-system-testing/. [Accessed 21 April 2015].
17. What is System Testing?. 2015. What is System Testing?. [ONLINE] Available at:
http://www.guru99.com/system-testing.html. [Accessed 21 April 2015].
48
APPENDICES
Appendix A –Project Schedule
Task Mode Task Name Duration Start Finish
Manually Scheduled
Initiation 5 days Mon 05/01/15 Fri 09/01/15
Manually Scheduled
Research Required tools and Application software for windows development 2 days Sat 10/01/15 Mon 12/01/15
Manually Scheduled
Research tool Prices & Vendors 2 days Tue 13/01/15 Wed 14/01/15
Manually Scheduled
Prepare/Present Budget to Business Sponsor 10 days Thu 15/01/15 Wed 28/01/15
Manually Scheduled
Acquire/Purchase development artefacts 2 days Thu 29/01/15 Fri 30/01/15
Manually Scheduled
Purchase relevant equipment 3 days Sat 31/01/15 Tue 03/02/15
Manually Scheduled
Commence Application Development 20 days Wed 04/02/15 Tue 03/03/15
Manually Scheduled
Create Program classes and methods 6 days Wed 04/03/15 Wed 11/03/15
Manually Scheduled
Design & Develop Interface 5 days Thu 12/03/15 Wed 18/03/15
Manually Scheduled
Insert required functionalities into Application 8 days Thu 19/03/15 Mon 30/03/15
Manually Scheduled
Test out all functionalities on Virtual windows Device 2 days Tue 31/03/15 Wed 01/04/15
Manually Scheduled
Download working application into Real windows Devices For Demonstration and presentation 4 days Thu 02/04/15 Tue 07/04/15
Manually Scheduled
Prepare for presentation of project 12 days Wed 08/04/15 Thu 23/04/15
49
Manually Scheduled
End of Project and finish write ups 11 days Fri 10/04/15 Fri 24/04/15
Manually Scheduled
End of Project, Hand Over to Project supervisor 11 days Sun 26/04/15 Fri 08/05/15
Table A1: Project Schedule
50
Recommended