SlideShare a Scribd company logo
SIM UNIVERSITY
SCHOOL OF SCIENCE AND TECHNOLOGY




MOBILE DEVICE MANAGEMENT



      STUDENT      : YEO KWAN CHING PETER
                     (PI NO. H0806618)
      SUPERVISOR   : MR. SAMUEL LEE
      PROJECT CODE : JAN2011/ICT/011




     A project proposal submitted to SIM University
in partial fulfillment of the requirements for the degree of
Bachelor of Business and Information Technology (Hons)


                     November 2011
Abstract

       Managing mobile devices is essential in organizations issuing large number of mobile
devices to staff. The main purpose of this project is to develop a web application and
simulator to showcase how Mobile Device Management (MDM) software can help these
organizations in terms of cutting down costs through tracking real-time usage (Voice / Data /
SMS), efficient handling and maintenance of asset (Application / Mobile Device) staff and
policy information, easy application installation and un-installation. The other purpose is to
showcase how MDM can reduce business risk by “protecting” confidential organization data
when mobile device are lost, through Wipe and Lock instructions sent from the web
application and over the air (OTA) through mobile network. As such, this project is an
attempt to provide awareness on all these benefits. This is done through designing and
implementing a simulator with good visual feedback and an efficient web application.
Besides providing awareness to these organizations, this project also serves as a conceptual
foundation underlying the many important features present in MDM software available in the
market today, and may be of interest to researchers and developers new to this area.
Acknowledgement


First, I wish to express my sincere gratitude to my project supervisor for providing me with
the opportunity to do my project work on Mobile Device Management (MDM). This project
involves developing a showcase package to conceptually present how MDM can help
organizations. Initially, there are some areas I was not familiar with and I sincerely thank him
for all the advice given.

I would like to thank my boss, Mr. Kwan (M.D) for his support and letting me take urgent
leave as required and also Mr. Ron Loi (CFO) from Ernst and Young for sharing my ERP
workload during this tough period of time.

Last but not least, I would like to thank my family and friends for their on-going support and
encouragement.
List of Figures


Figure 1: Device Types…..........................................................................................   3
Figure 2: Setup Overview…......................................................................................     4
Figure 3: Project Plan………………………………………………………………                                                                      6
Figure 4: Process Flow for adding Information……………………………………                                                         21
Figure 5: What comes before Assigning Device to a staff…………………….......                                              24
Figure 6: Process Flow for editing Information…………………………………....                                                     24
Figure 7: Process Flow for Deleting Information………………………………….                                                       25
Figure 8: Process Flow for executing Wipe or Lock requests……………………..                                                27
Figure 9: Process Flow for Application Installation……………………………….                                                    28
Figure 10: Process Flow for Application Un-Installation………………………….                                                  28
Figure 11: Login Screen……………………………………………………………                                                                      29
Figure 12: Non-Management Home Screen.............................................................                  30
Figure 13: Administrator Home Screen…………………………………………….                                                              31
Figure 14: Management Home Screen……………………………………………..                                                                32
Figure 15: Human Resource Home Screen…………………………………………                                                               33
Figure 16: Initial Web Application User Interface…………………………………                                                      35
Figure 17: MDM ER-Model………………………………………………………..                                                                      37
Figure 18: Simulator Feedback……………………………………………………..                                                                 49
List of Tables
Table 1: Risk Check List ….....................................................................................       7
Table 2: Functionalities in User Controller ….........................................................                17
Table 3: Functionalities in Administrator Controller ………………………………                                                     18
Table 4: Functionalities in Management Controller ……………………………….                                                       19
Table 5: Functionalities in HR Controller ……………….…………………….......                                                      19
Table 6: Application Functionality Groups Access Settings……………………...                                                  21
Table 7: APPLICATION ……………………….………………………………….                                                                         37
Table 8: APPLICATION_FUNCTION …………………….……………………..                                                                     38
Table 9: AUDIT_TRAIL_LOGIN ………………..……………………………….                                                                      39
Table 10: AUDIT_TRAIL_LOGOUT …………………………………………….                                                                       39
Table 11: AUDIT_TRAIL_OPERATION ………………………………………...                                                                    40
Table 12: CONTACTS_FUNCTION…..................................................................                        40
Table 13: DEVICE...................................................................................................   41
Table 14: DEVICE_APPLICATION......................................................................                    42
Table 15: DEVICE_BRAND…………………………………...………………….                                                                        42
Table 16: DEVICE_CALL_LOG…………………………...……………………..                                                                      43
Table 17: DEVICE_CONTACTS......................................................................….                     43
Table 18: DEVICE_LOCATION..........................................................…..............                    44
Table 19: DEVICE_MONTHLY_USAGE….........................................................                              44
Table 20: DEVICE_OS...........................................................................................        45
Table 21: DEVICE_TYPE…...…………………………………………………….                                                                        45
Table 22: POLICY…...…………………………………………………………….                                                                          45
Table 23: STAFF…...………………………………………………………….…..                                                                         46
Table 24: STAFF_DEPARTMENT…...................................................................                        47
Table 25: WIPE_LOCK_REQUEST…...…………………………………………                                                                       47
Table 26: Functionalities in Simulator Controller……………………………......                                                    48
Table 27: Functional Test for User Controller……………………………………                                                           50
Table 28: Functional Test for Administrator Controller…………………………                                                      51
Table 29: Functional Test for Management Controller…………………………...                                                      52
Table 30: Functional Test for HR Controller……………………………….                                                              52
Table 31: Functional Test for Simulator Controller……………………………….                                                       52
Table Of Contents
                                                             Page
Abstract                                                     i
Acknowledgement                                              ii
Lists Of Figures                                             iii
List Of Tables                                               iv
Chapter One
           Introduction                                      1
           1.1 Background and Motivation                     1
           1.2 Objectives                                    2
           1.3 Scope                                         2
           1.4 Overview of the Project                       3
           1.5 Project Management Techniques used            4
           1.6 Layout of the Project Report                  11
Chapter Two
           Literature Review                                 12
           2.1 Role of Mobile Device Management Client       12
           2.2 Role of Mobile Device Management Console      12
           2.3 Features                                      13
Chapter Three
           Web Application                                   17
           3.1 Core Functionalities                          17
           3.2 User Interface                                29
           3.3 Enhancement                                   34
Chapter Four
           Database                                          36
           4.1 Entity Relational Model                       36
           4.2 Transforming ER-Model to Database Design      38
Chapter Five
           Simulator                                         48
           5.1 Core Functionalities                          48
           5.2 Enhancement                                   48
Chapter Six
           Testing                                           50
Chapter Seven
           Conclusion                                        53
           7.1Future Work                                    53
           7.2Reflections                                    53
References                                                   55
APPENDIX A (UAT Forms)           56
APPENDIX B (Unit Testing)        71
APPENDIX C (Use Case)            75
APPENDIX D (MVC Models)          76
APPENDIX E (SQL DDL scripts)     91
APPENDIX F (Application Codes)   97
Chapter One
                                       Introduction


       Managing a large number of mobile devices issued to staff is a challenge for many
organizations. Mobile Device Management (MDM) software secure, monitors, manages and
supports mobile devices deployed across mobile operators [1]. MDM functionality typically
includes tracking usage (Voice, Data and SMS) and wiping & locking for all types of mobile
devices such as phones and tablets. The intent of MDM is to significantly reduce support and
maintenance cost for managing a large number of mobile devices, monitoring and reducing
usage (Voice / Data / SMS) cost through the enforcement of polices, and also reducing
business risk by “protecting” confidential data through wiping and locking. All these are
achieved through utilizing over the air capabilities (OTA).



1.1    Background & Motivation


       When an employee is out stationed overseas, their issued mobile device’s usage cost
would shoot up easily. MDM software can track usage and alert user when nearing policy
limit to cut down overseas roaming usage costs. Without MDM, the usage costs are only
known at the end of month and high usage cost could already have been incurred. As such,
MDM software is very important for organizations who issue a large number of mobile
devices to staff in terms of cutting down costs.

       Many issued mobile devices contain organizations’ confidential data and it is very
important to “protect” this data. MDM software can wipe or lock phones. Without MDM,
confidential data may be leaked when devices are lost. As such, investing in MDM software
is very important for organizations who issue a large number of mobile devices to staff in
terms of reducing business risk and this is in Forrester’s Top 20 mobile device management
security best practices [6].

       When there are updates to In-House applications, it is time-consuming to collect
phones physically from employees and do an update manually one by one. Not only is it bad
for productivity, it may also badly affect customers and disrupt internal communication


                                               1
within the organization. In-real life situations, phones may even get lost in the process if not
properly handled.

       Today, more and more employees around the world now work at-home to have a
more balanced family life and at the same time contribute to the cost saved by organization
on office rental and setup costs. Since the past decade, there is an increase in the use of
mobile devices within an organization and this increase creates a stronger need for
organizations to have a software application that could help them better manage these
devices.

       These benefits became the motivation of the project that can help organizations to
understand and adopt MDM software to cut down costs and business risks.




1.2    Objectives


       The objective of this project is to develop a mobile device management application
that shows through simulation how organizations can control and manage a large number of
mobile devices that are in use by staff in different locations and departments. This
application will provide an admin console to carry out mobile device management operations.
There are a lot of programming software available in the market and this project uses Visual
Studio Professional 2010 & SQL 2008.



1.3    Scope

           Due to the complexity and time needed for creating enterprise MDM software that is
fully workable in the real world, a single developer coding a small module could take up to a
year to finish it. As such, instead of creating that, this project covers the conceptual
foundation of MDM, and focuses on highlighting and simulating the main benefits of MDM
by using a simulator with good visual feedback and an efficient web application.

       Due to the large number of types of devices available, this project includes a total of
five types of devices to enhance the visual presentation of the simulator – Iphone 4,
BlackBerry, Windows Smart Phone and Android.



                                                 2
Figure 1: Device types



1.4    Overview of the project

       In real-life, each issued mobile device will be installed with the client software and
the role of this client software is to update the database via push/pull request and carry out
instructions – wipe out data, send message - sent from the web application administrator. In
this project a simulator will be developed in order to simulate hundreds of mobile devices
installed with client software so as to replicate a realistic real-life environment and
demonstrate how the program works.

       The application will be setup and hosted on the World Wide Web in order to provide
more flexibility and convenience for the users. The login password would be encrypted and
there would be an audit trail for all operations carried out.

       The database will be setup at the organization data centre and the role of this database
is to store data received from all the mobile devices as well as additional information on staff,
application and policy.

       When the database, web-application and simulator is developed/setup and linked
properly together and all tasks have been completed, we will have the cutting-edge mobile
device management showcase package and achieve the objective of the project.



                                                 3
Figure 2: Setup Overview




1.5    Project Management Techniques Used


Time Management


       The Software development Life Cycle will be used to ensure the success of this
project. A waterfall approach will be taken because it has most of the advantages of the
traditional development system development lifecycle and in addition, it has testing and
verification at the end of each of the stages. Thus not all the review will be done during the
testing stage and this allows any problems to be uncovered in the earlier stages. As this is
somewhat a document-driven approach, the waterfall approach would enforce disciple in
documenting results of each stage of the project. I choose this approach for my project
because many successful projects are completed with the waterfall approach.


                                                4
An Initial investigation will be carried out to understand the nature and general
prospect of the project. During this stage, the project definition will be drafted, investigation
of project background would be carried out and the project plan crafted with projected
timeline. Lastly, the initial investigation stage ends with the approval/submission of the
project proposal.

       After Initial investigation, planning would then be carried out to complete the pre-
requisite tasks needed for the project. During this stage, the business requirements will be
reviewed by the client to ensure the project is moving in the right direction from the start.
After reviewing the requirements, there would be an organization of the resources needed and
a charter will be created. After that installation of the development tools will be carried out
and technical skills will be refreshed through re-learning. This stage ends with a review to
ensure everything is going according to plan.

       After planning, analysis will be carried out mainly to deliver the GUI with navigation
structure, and ensure that the simulated vendor’s understanding is concretely aligned with the
simulated client’s expectation. This stage ends with a review to check and ensure that the
exact GUI expectation is met.

       After analysis, design will be carried out mainly to setup the database and all the
proper related tasks. This stage ends with a review to check and ensure that the database is
properly setup.

       After design, development and testing will be carried out. An object-orientated
approach will be implemented in coding and this stage ends with a review to check and
ensure that all tasks has been successfully completed, especially the user acceptance test.

       After development and design, the deploy stage will be carried out to submit all the
deliverables and introduce the software into the market. This stage ends with a review and
audit, marking the end of this project.

The Project Plan is shown on the next Page.




                                    Figure 3: Project Plan

                                                5
6
Risk Management
A Risk Management Checklist [2] has been completed:




                                                                                                                              Not applicable

                                                                                                                                               Need info
 Factor ID




                                                                                                              Medium
             Risk                Low Risk              Medium Risk               High Risk




                                                                                                                       High




                                                                                                                                                           TBD
                                                                                                        Low
             Factors             Cues                  Cues                      Cues                                                                            Notes

Risk Category: Mission and Goals

  1          Project Fit to      directly supports     indirectly impacts does not support              √
             Customer            customer              one or more goals or relate to
             Organization        organization          of customer        customer
                                 mission and/or                           organization
                                 goals                                    mission or goals

  2          Work Flow           little or no change will change some            significantly          √
                                 to work flow        aspect or have              changes the work
                                                     small affect on             flow or method of
                                                     work flow                   organization

Risk Category: Program Management

  3          Resource            projects within the   projects within the       projects within the    √
             Conflict            program share         program schedule          program often
                                 resources without     resources                 need the same
                                 any conflict          carefully to avoid        resources at the
                                                       conflict                  same time (or
                                                                                 compete for the
                                                                                 same budget)

  4          Customer            multiple              multiple                  multiple               √
             Conflict            customers of the      customers of the          customers of the
                                 program have          program have              program are trying
                                 common needs          different needs,          to drive it in very
                                                       but do not conflict       different directions

Risk Category: Decision Drivers

  5          Use of Attractive   technology            project is being          project is being       √
             Technology          selected has been     done in a sub-            done as a way to
                                 in use for some       optimal way, to           show a new
                                 time                  leverage the              technology or as
                                                       purchase or               an excuse to bring
                                                       development of            a new technology
                                                       new technology            into the
                                                                                 organization

Risk Category: Organization Management

  6          Organization        little or no change some                        management or          √
             Stability           in management or management                     organization
                                 structure expected change or                    structure is
                                                     reorganization              continually or
                                                     expected                    rapidly changing

  7          Policies and        development           development               no policies or         √
             Standards           policies and          policies and              standards, or they
                                 standards are         standards are in          are ill-defined and
                                 defined and           place, but are            unused
                                 carefully followed    weak or not
                                                       carefully followed

  8          Project             verifiable project    some project              no established         √
             Objectives          objectives,           objectives,               project objectives
                                 reasonable            measures may be           or objectives are
                                 requirements          questionable              not measurable




                                                                             7
Not applicable

                                                                                                                                              Need info
 Factor ID




                                                                                                             Medium
             Risk              Low Risk              Medium Risk             High Risk




                                                                                                                      High




                                                                                                                                                          TBD
                                                                                                   Low
             Factors           Cues                  Cues                    Cues                                                                               Notes

Risk Category: Customers/Users

  9          User Involvement users highly        users play minor           minimal or no user √
                              involved with       roles, moderate            involvement; little
                              project team,       impact on system           user input
                              provide significant
                              input


10 User Experience users highly                      users have              users have no         √
                   experienced in                    experience with         previous
                   similar projects;                 similar projects        experience with
                   have specific                     and have needs in       similar projects;
                   ideas of how                      mind                    unsure of how
                   needs can be met                                          needs can be met

11 User Acceptance users accept                      users accept most       users do not          √
                   concepts and                      of concepts and         accept any
                   details of system;                details of system;      concepts or
                   process is in place               process in place        design details of
                   for user approvals                for user approvals      system

12 User Training              user training          user training       requirements not                √
   Needs                      needs considered;      needs considered; identified or not
                              training in            no training yet or addressed
                              progress or plan       training plan is in
                              in place               development

Risk Category: Product Content

13 Requirements               little or no change some change                rapidly changing            √
   Stability                  expected to         expected against           or no agreed-upon
                              approved set        approved set               baseline
                              (baseline)

14 Requirements               all completely         some                    some                        √
   Completeness               specified and          requirements            requirements only
   and Clarity                clearly written        incomplete or           in the head of the
                                                     unclear                 customer

15 Testability                product                parts of product        most of product       √
                              requirements easy      hard to test, or        hard to test, or no
                              to test, plans         minimal planning        test plans being
                              underway               being done              made

16 Design Difficulty          well defined       unclear how to              interfaces not well   √
                              interfaces; design design, or aspects          defined or
                              well understood    of design yet to be         controlled; subject
                                                 decided                     to change

17 Implementation             content is          content has                content has           √
   Difficulty                 reasonable for this elements                   components this
                              team to implement somewhat difficult           team will find very
                                                  for this team to           difficult to
                                                  implement                  implement

Risk Category: Deployment

18 Data Migration             little or no data to   much data to            much data to          √
   Required                   migrate                migrate, but good       migrate; several
                                                     descriptions            types of data or
                                                     available of            no good
                                                     structure and use       descriptions of
                                                                             what is where




                                                                         8
Not applicable

                                                                                                                                 Need info
 Factor ID




                                                                                                Medium
             Risk      Low Risk              Medium Risk              High Risk




                                                                                                         High




                                                                                                                                             TBD
                                                                                          Low
             Factors   Cues                  Cues                     Cues                                                                         Notes

Risk Category: Development Process

19 Use of Defined      development           process                  no formal process   √
   Development         process in place,     established, but         used
   Process             established,          not followed or is
                       effective, followed   ineffective
                       by team

20 Early               peer reviews are      peer reviews are         team expects to     √
   Identification of   incorporated          used sporadically        find all defects
   Defects             throughout                                     with testing

Risk Category: Development Environment

21 Tools Availability in place,              available,               unvalidated,        √
                      documented,            validated, some          proprietary or
                      validated              development              major
                                             needed (or               development
                                             minimal                  needed; no
                                             documentation)           documentation

22 Disaster            all areas following   some security            no security         √
   Recovery            security              measures in              measures in
                       guidelines; data      place; backups           place; backup
                       backed up;            done; disaster           lacking; disaster
                       disaster recovery     recovery                 recovery not
                       system in place;      considered, but          considered
                       procedures            procedures
                       followed              lacking or not
                                             followed

Risk Category: Project Management (PM)

23 PM Approach         product and           planning and             weak or             √
                       process planning      monitoring need          nonexistent
                       and monitoring in     enhancement              planning and
                       place                                          monitoring

Risk Category: Developer

24 Application         extensive             some experience          little or no              √
   Experience          experience in         with similar             experience with
                       projects like this    projects                 similar projects

25 Expertise with      good background       some experience no expertise and                   √
   Application Area    with application      or able to call on no availability of
   (Domain)            domain                experts as needed experts

26 Experience with     high experience       average                  low experience            √
   Project Tools                             experience

27 Experience with     high experience       average                  low experience            √
   Project Process                           experience

Risk Category: Technology

28 Technology          technology            some of the              selected            √
   Match to Project    planned for project   planned                  technology is a
                       is good match to      technology is not        poor match to the
                       customers and         well-suited to the       problem or
                       problem               problem or               customer
                                             customer

29 Technology          good level of         some experience          no experience                      √
   Experience          experience with       with the                 with the
                       technology            technology               technology




                                                                  9
Not applicable

                                                                                                                                   Need info
 Factor ID




                                                                                                  Medium
             Risk           Low Risk           Medium Risk              High Risk




                                                                                                           High




                                                                                                                                               TBD
                                                                                            Low
             Factors        Cues               Cues                     Cues                                                                         Notes

 30 Availability of         technology         experts available        will need to                       √
    Technology              experts readily    elsewhere in             acquire help from
    Expertise               available          organization             outside the
                                                                        organization

 31 Maturity of             technology has     technology is well       technology is       √
    Technology              been in use in the understood in the        leading edge, if
                            industry for quite industry                 not "bleeding
                            some time                                   edge" in nature

                            Total Categories   12

                            Total                                                           22    7        2
                            Factors            31




                                                 Table 1: Risk Checklist


Checklist is customized & generated from
http://www2.dir.state.tx.us/sitecollectiondocuments/it leadership/framework/project
planning/supplemental tools/risk factors_genericproject.doc




Resource Management


Project Resources:


             1. Development Software
                Visual Studio Professional 2010 (Provided by Microsoft Dream Spark)
                Microsoft SQL 2008 R2 Developer Edition (Provided by Microsoft Dream Spark)


             2. Programming Related and others
                ASP.NET Model View Controller (MVC) 3.0
                Microsoft Razor View Engine
                JQuery (Client Side Validations)
                Ajax (Client Side Interaction)
                DBML (Data Support)
                SQL to ENT (Data Support)
                SQL to LINQ (Data Support)

                                                                   10
   ENT Framework 4.1 (Data Support)
         ASP.NET Web Admin Tool (Account Support)




1.6       Layout of the project report

       From here on, the report contains six more chapters. Chapter 2 provides a literature
review and touches on how the project is approached.

        Chapter 3, 4 and 5 covers the design & implementation of each main component
needed in detail for the entire system to work.

       Finally, Chapter 6 covers testing and Chapter 7 covers the conclusion of this project,
highlighting future work and reflections.




                                              11
Chapter Two
                                  Literature Review


2.1    Role of Mobile Device Management Client

       According to the data researched from global leading MDM solutions providers -
MobileIron, Sybase, Tangoe and Excitor – in the market, the role of the client is to carry out
commands sent from the centralized management console. In this project, the Mobile Device
Client execution of instructions from the centralized management console is feedback by the
simulator.

       The features that are aligned with the objectives of the project in terms of reducing
cost and business risk is noted and implemented (on the client side) through the simulator
feedback. The full list and details of features implemented is available in Chapter 5.




2.2    Role of Mobile Device Management Console

       The role of the MDM Centralized management console is to send commands to the
MDM client(s). In this project, the focus is more on the console than the simulator. As such,
most of the features can be found in the web application.

       The Mobile Device Management Console supports multiple concurrent devices for
users. It gets data such as usage from the mobile device upon request from the console. This
makes mobile device usage monitoring easy for management.

       This Console also supports remote Wipe and Lock. It accepts Wipe and Lock requests
from the management. The administrator will have access to these requests and they are the
ones who do the execution of the delete and wipe requests. This provides more security and
makes it harder for employees to misuse the system. The full list and details of features
implemented is available in Chapter 3.




                                               12
2.3      Features


The List of features provided by Tangoe MDM software includes [3]:


      1. On-device client support for iPhone, Android, Blackberry, Windows Mobile
      2. Self-service portal
                Device detail views
                Smartphone data wipe & kill
                Remote lock, wipe and password clear
      3. Centralized management console providing support for multiple concurrent devices
         for users (e.g. smartphone and table)
      4. Corporate directory integration
      5. Policy management
      6. Application management for managing enterprise application deployments/upgrades
         to iOS, Android, Blackberry and Windows Mobile devices
      7. Real-time smartphone usage tracking
              Detect international roaming and alert wireless administrators and / or
                 automatically disable cost-incurring smartphones device features while
                 roaming
              Detect inactive devices
              Capture and view voice, SMS, and data usage information
              View smartphone usage via user profile
              Granular usage viewing options available
      8. Custom security roles
                Three default security roles (Everyone, Help Desk, and System Administrator)



Tangoe MDM Features taken from
http://www.tangoe.com/Software/features-a-benefits.html




                                                 13
The List of features provided by MobileIron MDM software includes [4]:

   1. Multi-OS Device Management
             Central Web-based console across operating systems
             Inventory and asset management
             Encryption policy (phone, SD)
             Remote lock and wipe
             End-user self-service


   2. Enterprise Data Boundary
             Selective wipe
             Privacy Policy


   3. App Management
             Inventory
             Secure publishing and delivery
   4. Lost Phone Recovery
             Locate and map
   5. Administration
             Over-the-air provisioning
             Role-based access
             Group-based actions
             Broadcast SMS, APNs, C2DM
             Persistent logs and audit trails
   6. Visibility and Reporting
             Across Voice / SMS / Data
             Across phone OS
             Across operators
             Across employee-billed & company-billed phones
             Across locations
   7. Exception and Abuse Control
             Inactive phones
             Activity spikes


                                                 14
   Overages
   8. Event Center
             Activity thresholds
             Security indicators
             Alert triggers




MobileIron MDM Features taken from
https://info.mobileiron.com/prd_datasheet_2_BING.html




The List of features provided by Excitor MDM software includes [5]:

   1. Deploy applications to users’ phones
             Deploy applications and upgrades over-the-air
             Select either user self-provisioning or a centralized push of applications
             Create standard configurations, applications and set-ups of user
             Monitor installation progress
             Set up instant, scheduled or manual synchronization options
             Control which operators are used roaming
   2. Administer mobility solution
             Obtain an overview of all devices, applications installed and OS versions
             Monitor data and application access
             Remotely wipe phones completely before they are disposed of or reassigned
   3. Support users
             Easily troubleshoot user issues via detailed logs and reports of user actions
   4. Secure organization’s data
             Remotely delete memories of lost or stolen mobile phones
             Automatically wipe a phone’s memory if and authorized SIM card is inserted
             Block access to unapproved applications or functions
             Password-protect the entire phone, or selected applications




                                              15
Excitor MDM Features taken from
http://www.excitor.com/DME_Moblie_Device_Manager-586.aspx




The List of features provided by Sybase MDM software includes [6]:

   1. Heterogeneous device support
              iPhone, Blackberry, Windows 32 (laptops/tablets) and Windows Mobile
               devices
   2. Easy Management of mobile devices throughout their entire lifecycle from initial
       deployment to re-provisioning and decommissioning.
              Implement the many aspects of usage policies
   3. Mobile Security
              Enforce user authentication and encryption of data in transit, on device and
               storage media
              Able to implement kill-pill / data facade policies should the device be lost or
               stolen
   4. Application Management
              Develop, deploy and maintain applications, mobilizing business processes and
               data
   5. Enterprise-Grade Device Management
              Provides a single administrative console to centrally manage, secure and
               deploy mobile data, applications and devices.




   The features that are aligned with the objectives of the project in terms of reducing cost
and business risk are mostly implemented. The full list of the functionalities implemented is
available in the next Chapter, Web Application.




                                               16
Chapter Three
                                      Web Application

3.1      Core Functionalities


         The role of this web application is to provide mobile device management services and
information to the administrator, management, Human Resource and users.

         Functionalities for the administrator includes maintaining information on device,
application and policy, execute wipe or lock requests from management. Functionalities for
Management includes sending wipe or lock requests to administrator, retrieving Device User
Information, and generating reports on monthly usage and devices. Functionalities for Human
Resource includes maintain information on staff and department.


Functionalities


The full list of functionalities is technically grouped into four main categories
      1. User Controller
      2. Administrator Controller
      3. Management Controller
      4. HR Controller.


                                         1. User Controller
Name                       Function

 Device Info               Displays the information of issued device(s) belonging to login user.



 Staff Info                Displays the information of login user.




                           Table 2: Functionalities in User Controller




                                                 17
2. Administrator Controller
Name                   Function
Add OS                 Adds information on new mobile device operating system to database
Add Device Type        Adds information on new mobile device type to database
Add Brand              Adds information on new mobile device brand to database


                       Assigns an unissued mobile device to a staff or
Device Assign
                       Switch mobile device owner
Add Device             Adds information on new mobile device to database
                       Edits information of an existing mobile device and saves the changes to
Edit Device
                       database
Del Device             Deletes all information of an existing mobile device from database


Wipe Device            Wipes all sensitive data on an existing mobile device
Lock Device            Locks an existing mobile device to prevent further usage


Add Application        Adds information on new mobile device application to database
                       Edits information of an existing mobile device application and saves
Edit Application
                       the changes to database
Delete Application     Deletes all information of an existing application from database
Install Application    Installs or update application on an existing mobile device
Uninstall              Uninstall an application from an existing mobile device
Application            (application must also exist on the device)


Add Policy             Adds information on new usage policy to database
                       Edits information of an existing usage policy and saves the changes to
Edit Policy
                       database
Delete Policy          Delete all information of an existing policy from the database




                   Table 3: Functionalities in Administrator Controller




                                              18
3. Management Controller
Name                  Function
Device User Info      Display the list of user device information.
Generate Reports      Generates monthly usage Reports
                      (a) Top Users By Voice Usage
                      (b) Top Users By Data Usage
                      (c) Top Users By SMS Usage

                      Generates List of Devices
                      (a) By Country by department
                      (b) By Function by brand


Request Wipe          Request Administrator to wipe an existing device
Request Lock          Request Administrator to lock an existing device

                   Table 4: Functionalities in Management Controller



                                     4. HR Controller
Name                  Function
Add Staff             Adds information on new staff to database
                      Edits information of an existing staff and saves all changes to the
Edit Staff            database
Delete Staff          Deletes all information of an existing staff from the database


Add Department        Adds information on new department to database

                       Table 5: Functionalities in HR Controller




                                             19
There a total of four types of users, each assigned with access to different groups of
functionalities.



                    Application Functionality Groups Access Settings
Type                      Functionality Groups Permitted
Non-Mgt Staff             User Controller
Mgt Staff                 User Controller / Management Controller
HR Staff                  User Controller / HR Controller
Administrator             User Controller / Administrator Controller

                   Table 6: Application Functionality Groups Access Settings




Workflow & Transformation of Inputs to Outputs

        The workflow is very important for MDM users to understand the operation
procedures and use the software correctly. Besides aiding the users, the workflow also aids
the developers in creating test cases. As such, the workflow for each of the application
functionalities is created and can be found below.


View Issued Device information:

   1. Administrator / Management / Non-Management / HR Staff Login to application.
   2. Issued Device(s) information displayed.

View Staff Information:

   1. Administrator / Management / Non-Management / HR Staff Login to application.
   2. Selects Staff Info Service

View Device User Information:

    1. Management / Administrator select a staff from a list.
    2. Device(s) information displayed asynchronously.
    3. Process repeated as required




                                                20
Generate Reports:

   1. Management / Administrator selects one of the below and Print.
      (a) Generate Top Voice Users
      (b) Generate Top Data Users
      (c) Generate Top SMS Users
      (d) List Devices by Country by department
      (e) List Devices by Function by brand




   Add OS

  Add Device
                                                         Edit
    Type
                                                        Details

  Add Brand
                                                             Yes

     Add                                                                  No
    Device                   Submit                    Contains
                                                       Errors?                 Complete
                             Details
     Add
  Application

  Add Policy
                                       Figure 4: Process Flow for Information Input
   Add Staff

    Add
 Department

   Assign
   Devices



Add Operating System:

   1. Administrator gets new Operating System details from Manufacturer
   2. Keys in details and Submit.



                                           21
Error Occurs if:
       (a) Input Operating System Name already exist in database
       (b) Any required fields – Name, Description, Version - are empty


Add Device Type:

   1. Administrator gets new Device Type details from Manufacturer
   2. Keys in details and Submit

      Error Occurs if:
         (a) Input Device Type already exists in database.
         (b) Any required fields – Name, Description - are empty.


Add Brand:

   1. Administrator gets new Brand details from Manufacturer
   2. Keys in details and Submit

      Error Occurs if:
         (a) Input Brand and Model number (together) already exists in database.
         (b) Any required fields – Name, Model No. - are empty.


Add Device:

   1. Administrator gets new device details from Manufacturer
   2. Keys in details and Submit

      Error Occurs if:
         (a) Input Phone No. or IMEI No. already exists in database.
         (b) Any required fields – Phone No., IMEI - are empty.


Add Application:

   1. Administrator gets new Application details from Manufacturer
   2. Keys in details and Submit.

      Error Occurs if:
          (a) Input Application Name already exist in the database



                                            22
Add Policy:

   1. Administrator gets new policy details from Management.
   2. Keys in details and Submit.

      Error Occurs if:
          (a) Input Policy Name already exists in database
          (b) Any required fields - - are empty




Add Staff:

   1. HR Staff prepares new staff details.
   2. Contact Administrator to use
      ASP.NET Web Admin Tool to create the user login account first.
   3. Keys in details and Submit.

      Error Occurs if:
          (a) Input Staff Email already exists in database
          (b) Administrator did not create the user login account first


Add Department:

   1. HR Staff prepares new department details.
   2. Keys in details and Submit.

      Error Occurs if:
          (a) Input Department Name already exists in database
          (b) Required field - Department Phone – is empty




Assign Device:

   1. Administrator assigns Device to a staff after creating a new device or receives a re-
      assign request from management.
   2. Keys in details and Submit

      Error Occurs if:
         (a) Input Staff Email or Phone No. does not exist in database



                                             23
Mgt issues
                                      Re-Assign
                                       Request



                                        Add                        Assign
                    Start
                                       Device                      Device



                 Figure 5: What comes before Assigning Device to a staff




                                                          Edit
                                                         Details
Edit Device
                                                                 Yes

   Edit
                                                                             No
Application                  Save                      Contains
                                                                                  Complete
                            Changes                     Errors?
Edit Policy

 Edit Staff

                      Figure 6: Process Flow for editing information


Edit Device:

    1. Administrator keys in Phone No. to retrieve the device for editing.

        Error Occurs if:
           (a) Input Phone No. does not exist in the database.

    2. Administrator makes the necessary editing and save changes.

        Error Occurs if:
           (a) IMEI No. is not exactly 15 characters in length



                                              24
Edit Application:

   1. Administrator selects an existing application to edit.
   2. Administrator makes the necessary editing and save changes.

       Error Occurs if:
          (a) Required Field is “deleted”


Edit Policy:

   1. Administrator selects an existing policy to edit.
   2. Administrator makes the necessary editing and save changes.

       Error Occurs if:
          (a) Required Field is “deleted”


Edit Staff:

   1. HR Staff keys in Staff Email to retrieve the information for editing.

       Error Occurs if:
          (a) Input Staff Email does not exist in the database.

   2. Administrator makes the necessary editing and save changes.




                                                     Get another
                                                       Record
Del Device
                                                                  No
   Del
Application                                                              Yes
                           Check                        Details
                                                                               Delete
                           Details                      match?
Del Policy

 Del Staff

                     Figure 7: Process Flow for Deleting Information


                                              25
Delete Device:

   1. Administrator keys in Phone No. to retrieve the device for deletion

       Error Occurs if:
          (b) Input Phone No. does not exist in the database.

   2. Administrator checks the details and if correct, deletes the device.


Delete Application:

   1. Administrator selects an existing application to delete.
   2. Administrator checks the details and if correct, deletes the application.


Delete Policy:

   1. Administrator selects an existing policy to delete.
   2. Administrator checks the details and if correct, deletes the policy.


Delete Staff:

   1. HR Staff keys in Staff Email to retrieve the record for deletion

       Error Occurs if:
          (a) Input Staff Email does not exist in the database.

   2. HR Staff checks the details and if correct, deletes the record.

   3. HR Staff informs Administrator to delete the user login account.




                                              26
Select another Request

                                                            No

Wipe Device
                                                                       Yes
                          Check                      Details                    Execute
                          Details                    match?                     Request
Lock Device


                 Figure 8: Process Flow for executing Wipe or Lock requests


  Wipe Device:

        1. Administrator selects an available pending request from Management
        2. Administrator Checks the details and if correct, executes the wipe request.


  Lock Device:

        1. Administrator selects an available pending request from Management
        2. Administrator Checks the details and if correct, executes the Lock request.


  Request Wipe:

     1. Management enters Phone No. & Staff Email

        Error Occurs if:
            (a) Input Phone No. or Staff Email does not exists in database
            (b) The Wipe Request submitted already exists in database

  Request Lock:

     1. Management enters Phone No. & Staff Email

        Error Occurs if:
            (a)Input Phone No. or Staff Email does not exists in database
            (b)The Lock Request submitted already exists in database




                                              27
Install Application:

       1. Administrator fills in Phone No. & selects the application and clicks install

          Error Occurs if:
             (a) Input Phone No. does not exist in database




                               Yes                            No         Updates
   Feedback (Latest Ver.                    Latest
     Already Installed)                    Version?                     Application


                                                    Yes

                                                               No
                                          Application                    Installs
                 Click
                                            already                    Application
                Install
                                           installed?



                   Figure 9: Process Flow for Application Installation


Uninstall Application:

       1. Administrator fills in Phone No. & selects the application and select uninstall



                                        Check & Edit
                                           Input

                                                   No


             Click                                            Yes     Un-Installs
                                        Application
           Un-Install                                                 Application
                                         installed



                Figure 10: Process Flow for Application Un-Installation




                                              28
3.2    User Interface

       The vibrant blue color symbolizes the organization’s approachable character and its
emphasis on building relationships with customers, employees and the community. The
orange color represents the friendly nature of the organization.




                                  Figure 11: Login Screen




                                               29
Figure 12: Non-Management Home Screen




                 30
Figure 13: Administrator Home Screen

                 31
Figure 14: Management Home Screen




               32
Figure 15: Human Resource Home Screen




                 33
3.3    Enhancement


Enhancements have been made to the required input of data:

       Initially, the web application accepts IMEI number for the input to retrieve the device
for editing, deleting, installing or uninstalling applications and wiping or locking. IMEI
number may not be ideal because it may not be readily accessible to the administrator and it
is not practical to remember 15 numbers. Phone number is definitely more readily assessable
and easier to remember. As such, enhancements have been made to the application to accept
device phone number instead of IMEI number.
       Similarly, the web application initially accepts StaffID for the input to retrieve the
staff information for editing or deleting. StaffID is also not readily accessible to the HR Staff.
Staff Email is definitely more readily accessible to HR Staff and easier to remember. As
such, enhancements have been made to the application to accept StaffEmail instead of
StaffID.


Enhancements have been made to ASP.NET Server controls:

       Initially, the web application uses textbox to accept the application name as input to
retrieve the application for editing and deleting. Application name may not be ideal because it
may not be easy to recall the name. A drop down list showing all applications available in the
database would probably be more user-friendly. As such, Enhancements have been made to
the application to replace the textbox to a drop down list containing the full list of
applications instead.


Enhancements have been made to the application user interface:

       Initially, the web application user interface consists of two colors. Enhancements have
been made to the user interface to give a more refreshing look through adding a third color
(Orange).


       Besides color, initially the web application user interface has poorer usability. i.e.
users need to provide more input for the functionalities. As such enhancements have been
made to reduce the amount of input required. For example, initially a login user issued with
multiple mobile devices would need to select from a drop down list as shown in figure 16.

                                                34
Figure 16: Initial Web Application User Interface




All the Application codes are available in Appendix F.


                                             35
Chapter Four
                                        Database


4.1    Entity Relational Model

       In this project the Entity Relational (ER) Model is created first before doing the
database design. This ER-model serves as the blueprint of the database and any changes are
made to the data model at this stage to save up on the huge amount of work needed if many
changes are made during database design.




                                              36
Figure 17: MDM ER-Model




          37
4.2     Transforming ER-Model to Database Design

                 After the ER-Model has been finalized (around the time of submitting the project
         interim report), the database design is carried out. The full list of tables created is shown
         below. MVC Models is available in Appendix D and complete SQL DDL script used to
         create all the tables and constraints is also available in Appendix E.
         (* denotes Primary Key)



                                               APPLICATION
Attribute             Description                                                          Data Type       Null
*AppName              The Application Name                                                 varchar(100)    No
AppID                 An auto generated running number given to each Application           int             No
AppVersion            The Latest Version of the Application                                varchar(25)     Yes
AppDescription        The Description of the Application                                   varchar(1000)   No
AppMemMBUsage         The amount of memory needed (MB) to install the application          varchar(10)     No


                                            Table 7: APPLICATION



         APPLICATION Constraints:
               CONSTRAINT       ApplicationPK           PRIMARY KEY (AppName),
               CONSTRAINT       ApplicationAK1                 UNIQUE (AppID)




                                      APPLICATION_FUNCTION
Attribute             Description                                                          Data Type       Null
*AppName              The Application Name                                                 varchar(100)    No
*[Function]           The Staff function (application is meant to be used by)              varchar(25)     No


                                    Table 8: APPLICATION_FUNCTION




                                                         38
APPLICATION_FUNCTION Constraints:
              CONSTRAINT    Application_FunctionPK         PRIMARY KEY (AppName,[Function]),

              CONSTRAINT Application_FunctionFK1
                    FOREIGN KEY(AppName) REFERENCES Application(AppName)
                          ON UPDATE CASCADE
                          ON DELETE CASCADE




                                    AUDIT_TRAIL_LOGIN
Attribute          Description                                                  Data Type      Null
*ATLI_ID           An auto generated running number given to each record        int            No
StaffEmail         The Staff Email (of Logout user)                             varchar(100)   No
LoginTime          The Date & Time of Login                                     datetime       No


                                  Table 9: AUDIT_TRAIL_LOGIN



         AUDIT_TRAIL_LOGIN Constraints:
              CONSTRAINT    Audit_Trail_LoginPK            PRIMARY KEY (ATLI_ID),

              CONSTRAINT Audit_Trail_LoginFK1
                    FOREIGN KEY(StaffEmail) REFERENCES Staff(StaffEmail)
                          ON UPDATE CASCADE
                          ON DELETE NO ACTION,




                                   AUDIT_TRAIL_LOGOUT
Attribute          Description                                                  Data Type      Null
*ATLO_ID           An auto generated running number given to each record        int            No
StaffEmail         The Staff Email (of Logout user)                             varchar(100)   No
LogoutTime         The Date & Time of Logout                                    datetime       No


                                Table 10: AUDIT_TRAIL_LOGOUT




                                                      39
AUDIT_TRAIL_LOGIN Constraints:
                 CONSTRAINT    Audit_Trail_LogoutPK PRIMARY KEY (ATLO_ID),

                 CONSTRAINT Audit_Trail_LogoutFK1
                       FOREIGN KEY(StaffEmail) REFERENCES Staff(StaffEmail)
                             ON UPDATE CASCADE
                             ON DELETE NO ACTION,




                                    AUDIT_TRAIL_OPERATION
Attribute             Description                                               Data Type      Null
*ATO_ID               An auto generated running number given to each record     int            No
StaffEmail            The Staff Email (of user carrying out operation)          varchar(100)   No
Operation             Operation Details                                         varchar(250)   No


                                 Table 11: AUDIT_TRAIL_OPERATION



            AUDIT_TRAIL_OPERATION Constraints:
                 CONSTRAINT    Audit_Trail_OperationPK PRIMARY KEY (ATO_ID),

                 CONSTRAINT Audit_Trail_OperationFK1
                       FOREIGN KEY(StaffEmail) REFERENCES Staff(StaffEmail)
                             ON UPDATE CASCADE
                             ON DELETE NO ACTION,




                                       CONTACTS_FUNCTION
Attribute             Description                                               Data Type      Null
*ContactNum           Must have contact number (for staff with same function)   varchar(20)    No
*[Function]           The function of the staff (holding the contact number)    varchar(25)    No


                                    Table 12: CONTACTS_FUNCTION



            CONTACTS_FUNCTION Constraints:
            CONSTRAINT Contacts_FunctionPK PRIMARY KEY (ContactNum,[Function])




                                                       40
Device
Attribute             Description                                                  Data Type      Null
*DevicePhoneNo        The Phone Number of the Device                               varchar(20)    No
DeviceID              An auto generated running number given to each record        Int            No
IMEI                  The International Mobile Equipment Identity of the Device    varchar(15)    No
StaffID               The Staff ID of the assigned device                          int            No
DevicePurDate         The Purchase date of the device                              DateTime       Yes
DeviceMBMem           The device internal memory in Megabytes                      Numeric(8,0)   Yes
DeviceRoaming         The Boolean value describing if Roaming is enabled           Char(5)        Yes
DeviceStatus          The status of the device (Issued, Wiped, Locked)             varchar(25)    Yes
DeviceEmailE          The Email Encryption used by Device                          varchar(100)   Yes
DeviceSMSUsage        The SMS Usage for current month                              Numeric(8,0)   Yes
DeviceDataUsage       The Data Usage for current month                             Numeric(8,0)   Yes
DeviceVoiceUsage      The Voice Usage for current month                            Numeric(8,0)   Yes
RemainMemPerc         The Remain amount of internal memory                         Numeric(5,2)   Yes
OSName                The Device Operating System                                  varchar(100)   No
TypeName              The Device Type Name                                         varchar(100)   No
[DbID]                The Device Brand ID                                          int            No
LocationID            The Device Location ID                                       int            No


                                             Table 13: DEVICE



           DEVICE Constraints:
                 CONSTRAINT      DevicePK               PRIMARY KEY (DevicePhoneNo),
                 CONSTRAINT      DeviceAK1               UNIQUE (IMEI),
                 CONSTRAINT      DeviceAK2               UNIQUE (DeviceID),

                 CONSTRAINT DeviceFK1
                       FOREIGN KEY(LocationID) REFERENCES DEVICE_LOCATION(LocationID)
                             ON UPDATE CASCADE
                             ON DELETE NO ACTION,

                 CONSTRAINT DeviceFK2
                       FOREIGN KEY(OSName) REFERENCES DEVICE_OS(OSName)
                             ON UPDATE CASCADE
                             ON DELETE NO ACTION,

                 CONSTRAINT DeviceFK3
                       FOREIGN KEY(TypeName) REFERENCES DEVICE_TYPE(TypeName)
                             ON UPDATE CASCADE
                             ON DELETE NO ACTION,


                                                        41
CONSTRAINT DeviceFK4
                        FOREIGN KEY([DbID]) REFERENCES DEVICE_BRAND(DbID)
                              ON UPDATE CASCADE
                              ON DELETE NO ACTION,




                                          DEVICE_APPLICATION
Attribute                Description                                               Data Type      Null
*DevicePhoneNo           The Device Phone Number                                   varchar(20)    No
*AppName                 The Name of Installed Application                         varchar(100)   No
Version                  The Version of Installed Application                      varchar(25)    No


                                       Table 14: DEVICE_APPLICATION



            DEVICE_APPLCATION Constraints:
            CONSTRAINT     Device_ApplicationPK         PRIMARY KEY (DevicePhoneNo,AppName),

                  CONSTRAINT Device_ApplicationFK1
                        FOREIGN KEY(DevicePhoneNo) REFERENCES DEVICE(DevicePhoneNo)
                              ON UPDATE CASCADE
                              ON DELETE CASCADE,

                  CONSTRAINT Device_ApplicationFK2
                        FOREIGN KEY(AppName) REFERENCES APPLICATION(AppName)
                              ON UPDATE CASCADE
                              ON DELETE CASCADE




                                              DEVICE_BRAND
Attribute                Description                                               Data Type      Null
*DbID                    An auto generated running number given to each record     int            No
BrandName                The Brand Name                                            varchar(100)   Yes
ModelNo                  The Model Number                                          varchar(100)   Yes


                                           Table 15: DEVICE_BRAND




                                                         42
DEVICE_BRA ND Constraints:
           CONSTRAINT     Device_BrandPK        PRIMARY KEY (DbID)




                                           DEVICE_CALL_LOG
Attribute               Description                                                Data Type     Null
*CallLogID              An auto generated running number given to each record      int           No
DevicePhoneNo           The Phone number of the Device                             varchar(20)   No
Month                   The Month of the call                                      char(3)       No
Date                    The Date of the call                                       date          No
DialedNum               The Phone Number of the Receiver (Outgoing calls)          varchar(20)   Yes
ReceivedNum             The Phone Number of the Dialler (Incoming calls)           varchar(20)   Yes
Duration                The Duration of the call in minutes                        varchar(10)   No


                                        Table 16: DEVICE_CALL_LOG



           DEVICE_CALL_LOG Constraints:
                 CONSTRAINT      Device_Call_LogPK            PRIMARY KEY (CallLogID),

                 CONSTRAINT Device_Call_LogFK1
                       FOREIGN KEY(DevicePhoneNo) REFERENCES DEVICE(DevicePhoneNo)
                             ON UPDATE CASCADE
                             ON DELETE NO ACTION,




                                           DEVICE_CONTACTS
Attribute               Description                                                Data Type     Null
*DevicePhoneNo          The Device Phone Number                                    varchar(20)   No
*ContactNum             The Contact Number Stored in the device                    varchar(20)   No


                                        Table 17: DEVICE_CONTACTS

           DEVICE_CONTACTS Constraints:
                 CONSTRAINT Device_ContactsPK PRIMARY KEY (DevicePhoneNo,ContactNum),

                 CONSTRAINT Device_ContactsFK1
                       FOREIGN KEY(DevicePhoneNo) REFERENCES DEVICE(DevicePhoneNo)
                             ON UPDATE CASCADE
                             ON DELETE NO ACTION,


                                                         43
DEVICE_LOCATION
Attribute              Description                                             Data Type      Null
*LocationID            An auto generated running number given to each record   int            No
Country                The Country in which the phone is located               varcha(100)    No
City                   The City in which the phone is located                  varchar(20)    No


                                       Table 18: DEVICE_LOCATION



          DEVICE_LOCATION Constraints:
          CONSTRAINT     Device_LocationPK PRIMARY KEY (LocationID)




                                    DEVICE_MONTHLY_USAGE
Attribute              Description                                             Data Type      Null
*DevicePhoneNo         The Device Phone Number                                 varchar(20)    No
*Month                 The Month of the Data                                   char(3)        No
*Year                  The Year of the Data                                    char(4)        No
VoiceMinUsage          The amount of voice usage in minutes                    numeric(8,0)   Yes
DataMBUsage            The amount of data usage in megabytes                   numeric(8,0)   Yes
SMSUsage               The number of SMS sent                                  numeric(8,0)   Yes
Date                   The Date of the Latest Update                           date           Yes


                                  Table 19: DEVICE_MONTHLY_USAGE



          DEVICE_MONTHLY_USAGE Constraints:
          CONSTRAINT Device_Monthly_UsagePK            PRIMARY KEY
          (DevicePhoneNo,[Month],[Year]),

                CONSTRAINT Device_Monthly_UsageFK1
                      FOREIGN KEY(DevicePhoneNo) REFERENCES DEVICE(DevicePhoneNo)
                            ON UPDATE CASCADE
                            ON DELETE NO ACTION,




                                                       44
DEVICE_OS
Attribute               Description                                             Data Type       Null
*OSName                 The Name of the operating system                        varcha(100)     No
OSDescription           The Description of the operating system                 varcha(1000)    Yes
OSVersion               The Version of the operating system                     varchar(10)     Yes


                                             Table 20: DEVICE_OS



           DEVICE_OS Constraints:
           CONSTRAINT     Device_OSPK PRIMARY KEY (OSName)




                                               DEVICE_TYPE
Attribute               Description                                             Data Type       Null
*TypeName               The Name of the device type                             varcha(100)     No
TypeDescription         The Description of the device type                      varchar(1000)   Yes


                                           Table 21: DEVICE_TYPE



           DEVICE_TYPE Constraints:
           CONSTRAINT     Device_TypePK          PRIMARY KEY (TypeName)




                                                   POLICY
Attribute               Description                                             Data Type       Null
*PolicyName             The Name of the Policy                                  varchar(100)    No
PolicyID                An auto generated running number given to each record   int             No
VoiceMinLimit           The Maximum Voice Usage Limit in Minutes                numeric(8,0)    Yes
DataMBLimit             The Maximum Data Usage Limit in Megabytes               numeric(8,0)    Yes
SMSLimit                The Maximum Number of SMS                               numeric(8,0)    Yes
MinMemPerc              The remaining internal phone memory in %                numeric(5,2)    Yes


                                               Table 22: POLICY

                                                        45
POLICY Constraints:
           CONSTRAINT     PolicyPK       PRIMARY KEY (PolicyName),
           CONSTRAINT     PolicyAK1             UNIQUE (PolicyID),




                                                       STAFF
Attribute               Description                                                   Data Type      Null
*StaffEmail             The Email address of the staff                                varchar(100)   No
StaffID                 An auto generated running number given to each Staff record   int            No
StaffName               The name of the staff                                         varchar(25)    No
StaffPosition           The position of the staff                                     varchar(25)    No
StaffFunction           The function of the staff                                     varchar(25)    No
DirectSuperior          The Email address of direct superior                          varchar(100)   Yes
UserID                  The Globally Unique Identifier (GUID) of the staff            char(5)        Yes
PolicyID                The PolicyID of the assigned policy                           varchar(25)    Yes
DepartmentName          Name of the department the staff belong to                    varchar(100)   Yes


                                                    Table 23: STAFF



           STAFF Constraints:
                 CONSTRAINT      StaffPK                 PRIMARY KEY (StaffEmail),
                 CONSTRAINT      StaffAK1                UNIQUE (StaffID),

                 CONSTRAINT StaffPositionValues      CHECK
                 (StaffPosition IN ('NonMgt', 'Head', 'TopMgt', 'Administrator')),

                 CONSTRAINT StaffFK1
                       FOREIGN KEY(PolicyName) REFERENCES POLICY(PolicyName)
                             ON UPDATE CASCADE
                             ON DELETE NO ACTION,

                 CONSTRAINT StaffFK2
                       FOREIGN KEY(UserID) REFERENCES aspnet_Membership(UserID)
                             ON UPDATE CASCADE
                             ON DELETE NO ACTION,

                 CONSTRAINT StaffFK3
                       FOREIGN KEY(DepartmentName) REFERENCES
                 STAFF_DEPARTMENT(DepartmentName)
                             ON UPDATE CASCADE
                             ON DELETE NO ACTION




                                                          46
STAFF_DEPARTMENT
Attribute                Description                                                     Data Type      Null
*DepartmentName          The Name of the Department                                      varchar(25)    No
DepartmentID             An auto generated running number given to each record           int            No
DepartmentPhone          The Department Phone Number                                     varchar(20)    Yes


                                        Table 24: STAFF_DEPARTMENT



            STAFF_DEPARTMENT Constraints:
                CONSTRAINT Staff_DepartmentPK           PRIMARY KEY (DepartmentName),
                CONSTRAINT Staff_DepartmentAK1                 UNIQUE (DepartmentID)




                                          WIPE_LOCK_REQUEST
Attribute                Description                                                     Data Type      Null
                         The Email Address of the Staff assigned with the device to be
*StaffEmail                                                                              varchar(100)   No
                         Wipe or Lock
*DevicePhoneNo           The Phone Number of the Device to be Wipe or Lock               varchar(20)    No
*RequestType             The Type of Request (Wipe or Lock)                              char(4)        No
RequestStatus            The Status of the Request (Pending or Executed)                 varchar(10)    No


                                       Table 25: WIPE_LOCK_REQUEST



            WIPE_LOCK_REQUEST Constraints:
            CONSTRAINT     Wipe_Lock_RequestPK          PRIMARY KEY (StaffEmail,DevicePhoneNo),

                  CONSTRAINT Wipe_Lock_RequestFK1
                        FOREIGN KEY(DevicePhoneNo) REFERENCES Device(DevicePhoneNo)
                              ON UPDATE CASCADE
                              ON DELETE CASCADE,

                  CONSTRAINT Wipe_Lock_RequestFK2
                        FOREIGN KEY(StaffEmail) REFERENCES Staff(StaffEmail)
                              ON UPDATE CASCADE
                              ON DELETE NO ACTION,

                  CONSTRAINT      RequestTypeValues        CHECK
                                        (RequestType IN ('Wipe', 'Lock')),

                  CONSTRAINT      RequestStatusValues CHECK
                                        (RequestStatus IN ('Executed', 'Pending'))

                                                         47
Chapter Five
                                         Simulator


5.1    Core Functionalities

       The role of this simulator is to provide client side processing and feedback
information to viewers to demonstrate how MDM software works.

       The simulator is accessible only by the administrator and provides visual information
updates on all the devices in the field. It also comes with a control panel to aid the
administrator in generating devices in a quick manner to assist in carrying out demos.




Functionalities


                                    Simulator Controller
Name                    Function
Device List             List Mobile Devices in the field
Control Panel           Generate Mobile Devices to assist simulation



                     Table 26: Functionalities in Simulator Controller



Enhancement


       Initially the Simulator is not able to show Feedback on the respective mobile devices
in the Device List when instructions are transmitted from the console to the simulator for
processing. Subsequently, enhancement has been made to the simulator to reflect the
feedback after processing is completed on the mobile device. Figure 18 shows the
enhancement.




                                                48
Figure 18: Simulator Feedback




             49
Chapter Six
                                                    Testing


               In this project both black box and white box testing are done. There are many testing
       methods for black box testing such as stress testing, volume testing, load testing, functional
       testing, recovery testing and user acceptance testing. For black box testing, I have chosen to
       do functional testing and user acceptance test. For White box testing there is also a number of
       methods such as security testing, unit testing, static and dynamic analysis. For White box
       testing, I have chosen to do unit testing.

       Functional Testing


               All Functionalities listed in Chapter Three Web Application and Chapter Five
       Simulator is tested:


                                              User Controller
No.   Test Case                                                         Expected Result             Result (Y/N)
1     View issued Mobile Device information                             Device Info displayed       Y
2     View login user information                                       User Info displayed         Y


                              Table 27: Functional Test for User Controller


                                          Administrator Controller
No.   Test Case                                                         Expected Result             Result (Y/N)
                                                                        DEVICE_OS record
1     Add new device operating system                                                               Y
                                                                        created
                                                                        DEVICE_TYPE record
2     Add new device type                                                                           Y
                                                                        created
                                                                        DEVICE_BRAND
3     Add new device brand                                                                          Y
                                                                        record created
                                                                        StaffID in DEVICE
4     Assign / Reassign device to staff                                                             Y
                                                                        record updated
5     Add new device                                                    DEVICE record created       Y
                                                                        DEVICE record
6     Edit existing device information                                                              Y
                                                                        updated

                                                      50
7     Delete an existing device                                    DEVICE record deleted    Y
                                                                   WIPE_LOCK_
                                                                   REQUEST record
8     Wipe an existing device                                                               Y
                                                                   updated. DEVICE
                                                                   status updated
                                                                   WIPE_LOCK_
                                                                   REQUEST record
9     Lock an existing device                                                               Y
                                                                   created. DEVICE status
                                                                   updated.
                                                                   APPLICATION record
10    Add new application                                                                   Y
                                                                   created
                                                                   APPLICATION record
11    Edit existing application                                                             Y
                                                                   updated
                                                                   APPLICATION record
12    Delete an existing application                                                        Y
                                                                   deleted
                                                                   DEVICE_
13    Install/Update a new application                             APPLICATION record       Y
                                                                   created / updated
                                                                   DEVICE_
14    Un-Install an existing application                           APPLICATION record       Y
                                                                   Deleted
15    Add a new policy                                             POLICY record created    Y
                                                                   POLICY record
                                                                                            Y
16    Edits an existing policy                                     updated
                                                                   POLICY record
                                                                                            Y
17    Delete an existing policy                                    Deleted


                         Table 28: Functional Test for Administrator Controller


                                           Management Controller
No.   Test Case                                                    Expected Result          Result (Y/N)
1     View Device user information                                 Device Info displayed    Y
                                                                   Voice Usage
2     Generate Top Users By Voice Usage                            Information displayed    Y
                                                                   on screen
                                                                   Data Usage Information
3     Generate Top Users By Data Usage                                                      Y
                                                                   displayed on screen
                                                                   SMS Usage
4     Generate Top Users By SMS Usage                              Information displayed    Y
                                                                   on screen


                                                    51
Device Information
5     List Device by Country by Department                                                       Y
                                                                         displayed on screen
                                                                         Device Information
6     List Device by Function by Brand                                                           Y
                                                                         displayed on screen


                           Table 29: Functional Test for Management Controller


                                               HR Controller
No.   Test Case                                                          Expected Result         Result (Y/N)
1     Add new staff to database                                          STAFF record created    Y
2     Edit an existing staff                                             STAFF record updated    Y
3     Delete an existing staff                                           STAFF record deleted    Y
                                                                         STAFF_
4     Add new department to database                                     DEPARTMENT              Y
                                                                         record created



                                  Table 30: Functional Test for HR Controller


                                           Simulator Controller
No.   Test Case                                                          Expected Result         Result (Y/N)
                                                                         Information displayed
1     List Mobile Devices in the Field                                                           Y
                                                                         on screen
                                                                         Device record(s)
2     Generate New Mobile Device(s)                                                              Y
                                                                         created


                               Table 31: Functional Test for Simulator Controller


       User Acceptance Test (UAT)

               This project has not reached the stage to be handed over. As such UAT is not done.
       However, the forms are available in Appendix A.


       Unit Test
               The details of the results are available in Appendix B.




                                                       52
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test
test

More Related Content

What's hot

Blackberry v.6.0
Blackberry v.6.0Blackberry v.6.0
Blackberry v.6.0
Teddy Koornia
 
Dynamics AX/ X++
Dynamics AX/ X++Dynamics AX/ X++
Dynamics AX/ X++
Reham Maher El-Safarini
 
Drmx2004 Getting Started
Drmx2004 Getting StartedDrmx2004 Getting Started
Drmx2004 Getting Started
UiTM
 
DocOpenERP - Openerp book
DocOpenERP - Openerp bookDocOpenERP - Openerp book
DocOpenERP - Openerp book
Finanzas Empresa - Open ERP
 
User Guide
User GuideUser Guide
User Guide
sam kempo
 
Mb ug
Mb ugMb ug
Mb ug
Virak Sou
 
U M Lvs I D E F
U M Lvs I D E FU M Lvs I D E F
U M Lvs I D E F
Ngo Hung Long
 
Java script tools guide cs6
Java script tools guide cs6Java script tools guide cs6
Java script tools guide cs6
Sadiq Momin
 
Introduction to BIRT
Introduction to BIRTIntroduction to BIRT
Introduction to BIRT
Raghavan Mohan
 
W java81
W java81W java81
W java81
rasikow
 
SATAID Operation Manual
SATAID Operation ManualSATAID Operation Manual
SATAID Operation Manual
JMA_447
 
Project Management
Project ManagementProject Management
Project Management
Sunam Pal
 
Rapport stage ingenieur (2017)
Rapport stage ingenieur (2017)Rapport stage ingenieur (2017)
Rapport stage ingenieur (2017)
Mohamed Boubaya
 
document
documentdocument
document
Ouerghi Yassine
 
Virtuoso schematic composer user guide
Virtuoso schematic composer user guideVirtuoso schematic composer user guide
Virtuoso schematic composer user guide
ntuzxy
 
Solmanfocusedbuild
SolmanfocusedbuildSolmanfocusedbuild
Solmanfocusedbuild
Ghassen B
 
IT Passport Examination.
IT Passport Examination.IT Passport Examination.
IT Passport Examination.
Gol D Roger
 

What's hot (17)

Blackberry v.6.0
Blackberry v.6.0Blackberry v.6.0
Blackberry v.6.0
 
Dynamics AX/ X++
Dynamics AX/ X++Dynamics AX/ X++
Dynamics AX/ X++
 
Drmx2004 Getting Started
Drmx2004 Getting StartedDrmx2004 Getting Started
Drmx2004 Getting Started
 
DocOpenERP - Openerp book
DocOpenERP - Openerp bookDocOpenERP - Openerp book
DocOpenERP - Openerp book
 
User Guide
User GuideUser Guide
User Guide
 
Mb ug
Mb ugMb ug
Mb ug
 
U M Lvs I D E F
U M Lvs I D E FU M Lvs I D E F
U M Lvs I D E F
 
Java script tools guide cs6
Java script tools guide cs6Java script tools guide cs6
Java script tools guide cs6
 
Introduction to BIRT
Introduction to BIRTIntroduction to BIRT
Introduction to BIRT
 
W java81
W java81W java81
W java81
 
SATAID Operation Manual
SATAID Operation ManualSATAID Operation Manual
SATAID Operation Manual
 
Project Management
Project ManagementProject Management
Project Management
 
Rapport stage ingenieur (2017)
Rapport stage ingenieur (2017)Rapport stage ingenieur (2017)
Rapport stage ingenieur (2017)
 
document
documentdocument
document
 
Virtuoso schematic composer user guide
Virtuoso schematic composer user guideVirtuoso schematic composer user guide
Virtuoso schematic composer user guide
 
Solmanfocusedbuild
SolmanfocusedbuildSolmanfocusedbuild
Solmanfocusedbuild
 
IT Passport Examination.
IT Passport Examination.IT Passport Examination.
IT Passport Examination.
 

Viewers also liked

Test photo album
Test photo albumTest photo album
Test photo album
amcginn14
 
Storytellling System
Storytellling SystemStorytellling System
Storytellling System
Aditya Balaji Veera
 
Priming the Pump or the Sieve: Institutional Contexts and URM STEM Degree Att...
Priming the Pump or the Sieve: Institutional Contexts and URM STEM Degree Att...Priming the Pump or the Sieve: Institutional Contexts and URM STEM Degree Att...
Priming the Pump or the Sieve: Institutional Contexts and URM STEM Degree Att...
brycehughes
 
Rise and Effect of Corporate and CEO Activism
Rise and Effect of Corporate and CEO ActivismRise and Effect of Corporate and CEO Activism
Rise and Effect of Corporate and CEO Activism
Aditya Balaji Veera
 
Messaging Platform
Messaging PlatformMessaging Platform
Messaging Platform
Aditya Balaji Veera
 
Chapter 17-rizal
Chapter 17-rizalChapter 17-rizal
Chapter 17-rizal
Jeda Colas
 
TORNILLO
TORNILLOTORNILLO
sustainability
sustainabilitysustainability
sustainability
amcginn14
 
CSE Fall 2012
CSE Fall 2012CSE Fall 2012
CSE Fall 2012
amcginn14
 
Audience Insights Analysis
Audience Insights AnalysisAudience Insights Analysis
Audience Insights Analysis
Aditya Balaji Veera
 
Cse slideshow
Cse slideshowCse slideshow
Cse slideshowamcginn14
 
Lawrence gonzalez nina tandon ted talk
Lawrence gonzalez   nina tandon ted talkLawrence gonzalez   nina tandon ted talk
Lawrence gonzalez nina tandon ted talk
larryg2891
 
Sustainability Initiatives at Dickinson
Sustainability Initiatives at DickinsonSustainability Initiatives at Dickinson
Sustainability Initiatives at Dickinson
amcginn14
 
Sustainability Initiatives at Dickinson College
Sustainability Initiatives at Dickinson CollegeSustainability Initiatives at Dickinson College
Sustainability Initiatives at Dickinson College
amcginn14
 
Sistema de conduccion del corazon
Sistema de conduccion del corazonSistema de conduccion del corazon
Sistema de conduccion del corazon
Juan Osvaldo Balbuena Carrillo
 
Sistema cardiovascular derivaciones ekg
Sistema cardiovascular   derivaciones ekgSistema cardiovascular   derivaciones ekg
Sistema cardiovascular derivaciones ekg
Juan Osvaldo Balbuena Carrillo
 
Mecanismo de accion hormonal sin mov
Mecanismo de accion hormonal sin movMecanismo de accion hormonal sin mov
Mecanismo de accion hormonal sin mov
Juan Osvaldo Balbuena Carrillo
 
Hormonas (mapa conceptual y tablas hipotalamo hipofisis)
Hormonas (mapa conceptual y tablas hipotalamo hipofisis)Hormonas (mapa conceptual y tablas hipotalamo hipofisis)
Hormonas (mapa conceptual y tablas hipotalamo hipofisis)
Juan Osvaldo Balbuena Carrillo
 

Viewers also liked (18)

Test photo album
Test photo albumTest photo album
Test photo album
 
Storytellling System
Storytellling SystemStorytellling System
Storytellling System
 
Priming the Pump or the Sieve: Institutional Contexts and URM STEM Degree Att...
Priming the Pump or the Sieve: Institutional Contexts and URM STEM Degree Att...Priming the Pump or the Sieve: Institutional Contexts and URM STEM Degree Att...
Priming the Pump or the Sieve: Institutional Contexts and URM STEM Degree Att...
 
Rise and Effect of Corporate and CEO Activism
Rise and Effect of Corporate and CEO ActivismRise and Effect of Corporate and CEO Activism
Rise and Effect of Corporate and CEO Activism
 
Messaging Platform
Messaging PlatformMessaging Platform
Messaging Platform
 
Chapter 17-rizal
Chapter 17-rizalChapter 17-rizal
Chapter 17-rizal
 
TORNILLO
TORNILLOTORNILLO
TORNILLO
 
sustainability
sustainabilitysustainability
sustainability
 
CSE Fall 2012
CSE Fall 2012CSE Fall 2012
CSE Fall 2012
 
Audience Insights Analysis
Audience Insights AnalysisAudience Insights Analysis
Audience Insights Analysis
 
Cse slideshow
Cse slideshowCse slideshow
Cse slideshow
 
Lawrence gonzalez nina tandon ted talk
Lawrence gonzalez   nina tandon ted talkLawrence gonzalez   nina tandon ted talk
Lawrence gonzalez nina tandon ted talk
 
Sustainability Initiatives at Dickinson
Sustainability Initiatives at DickinsonSustainability Initiatives at Dickinson
Sustainability Initiatives at Dickinson
 
Sustainability Initiatives at Dickinson College
Sustainability Initiatives at Dickinson CollegeSustainability Initiatives at Dickinson College
Sustainability Initiatives at Dickinson College
 
Sistema de conduccion del corazon
Sistema de conduccion del corazonSistema de conduccion del corazon
Sistema de conduccion del corazon
 
Sistema cardiovascular derivaciones ekg
Sistema cardiovascular   derivaciones ekgSistema cardiovascular   derivaciones ekg
Sistema cardiovascular derivaciones ekg
 
Mecanismo de accion hormonal sin mov
Mecanismo de accion hormonal sin movMecanismo de accion hormonal sin mov
Mecanismo de accion hormonal sin mov
 
Hormonas (mapa conceptual y tablas hipotalamo hipofisis)
Hormonas (mapa conceptual y tablas hipotalamo hipofisis)Hormonas (mapa conceptual y tablas hipotalamo hipofisis)
Hormonas (mapa conceptual y tablas hipotalamo hipofisis)
 

Similar to test

A Survey of IT Usage Patterns in Banks in Jordan 2011 - TABLE OF CONTENTS
A Survey of IT Usage Patterns in Banks in Jordan 2011 - TABLE OF CONTENTSA Survey of IT Usage Patterns in Banks in Jordan 2011 - TABLE OF CONTENTS
A Survey of IT Usage Patterns in Banks in Jordan 2011 - TABLE OF CONTENTS
Arab Advisors Group
 
AP Assignment
AP AssignmentAP Assignment
AP Assignment
Jeff Nelson
 
Evaluating-Internal-Control-Systems.pdf
Evaluating-Internal-Control-Systems.pdfEvaluating-Internal-Control-Systems.pdf
Evaluating-Internal-Control-Systems.pdf
LinhLeThiThuy4
 
Air vision2 user_guide
Air vision2 user_guideAir vision2 user_guide
Air vision2 user_guide
Helvio Matusse
 
Evaluating internal-control-systems
Evaluating internal-control-systemsEvaluating internal-control-systems
Evaluating internal-control-systems
aderawgashayie
 
Control engineering assignment
Control engineering assignment Control engineering assignment
Control engineering assignment
Abdo Ali Alsharai
 
CIMA_unlocking_business_intelligence
CIMA_unlocking_business_intelligenceCIMA_unlocking_business_intelligence
CIMA_unlocking_business_intelligence
Mohsin Kara, ACMA
 
MAGHRENOV deliverable 5.1: Tested service package for entrepreneurs
MAGHRENOV deliverable 5.1: Tested service package for entrepreneursMAGHRENOV deliverable 5.1: Tested service package for entrepreneurs
MAGHRENOV deliverable 5.1: Tested service package for entrepreneurs
Maghrenov
 
Ppm7.5 demand cg
Ppm7.5 demand cgPpm7.5 demand cg
Ppm7.5 demand cg
indiatechnopark
 
Smart attendance system using facial recognition
Smart attendance system using facial recognitionSmart attendance system using facial recognition
Smart attendance system using facial recognition
VigneshLakshmanan8
 
Report on e-Notice App (An Android Application)
Report on e-Notice App (An Android Application)Report on e-Notice App (An Android Application)
Report on e-Notice App (An Android Application)
Priyanka Kapoor
 
Systematizing In-Store Traffic and Minimization of Service Quality Gaps of a ...
Systematizing In-Store Traffic and Minimization of Service Quality Gaps of a ...Systematizing In-Store Traffic and Minimization of Service Quality Gaps of a ...
Systematizing In-Store Traffic and Minimization of Service Quality Gaps of a ...
Angelo Yutuc
 
MFG/PRO QAD Reporting Framework Document Guide
MFG/PRO QAD Reporting Framework Document GuideMFG/PRO QAD Reporting Framework Document Guide
MFG/PRO QAD Reporting Framework Document Guide
Vinh Nguyen
 
Grid connected pv power system
Grid connected pv power systemGrid connected pv power system
Grid connected pv power system
Zelalem Girma
 
Case sas 2
Case sas 2Case sas 2
Case sas 2
Siva Koti Reddy
 
Deployment guide series ibm tivoli identity manager 5.0 sg246477
Deployment guide series ibm tivoli identity manager 5.0 sg246477Deployment guide series ibm tivoli identity manager 5.0 sg246477
Deployment guide series ibm tivoli identity manager 5.0 sg246477
Banking at Ho Chi Minh city
 
Deployment guide series ibm tivoli identity manager 5.0 sg246477
Deployment guide series ibm tivoli identity manager 5.0 sg246477Deployment guide series ibm tivoli identity manager 5.0 sg246477
Deployment guide series ibm tivoli identity manager 5.0 sg246477
Banking at Ho Chi Minh city
 
276.14 nvidia-control-panel-quick-start-guide
276.14 nvidia-control-panel-quick-start-guide276.14 nvidia-control-panel-quick-start-guide
276.14 nvidia-control-panel-quick-start-guide
Massimo Rubboli
 
Ifc+solar+report web+ 08+05
Ifc+solar+report web+ 08+05Ifc+solar+report web+ 08+05
Ifc+solar+report web+ 08+05
Mohammed Selim
 
Solar Energy - A Complete Guide
Solar Energy - A Complete GuideSolar Energy - A Complete Guide
Solar Energy - A Complete Guide
Naman Pratap Singh
 

Similar to test (20)

A Survey of IT Usage Patterns in Banks in Jordan 2011 - TABLE OF CONTENTS
A Survey of IT Usage Patterns in Banks in Jordan 2011 - TABLE OF CONTENTSA Survey of IT Usage Patterns in Banks in Jordan 2011 - TABLE OF CONTENTS
A Survey of IT Usage Patterns in Banks in Jordan 2011 - TABLE OF CONTENTS
 
AP Assignment
AP AssignmentAP Assignment
AP Assignment
 
Evaluating-Internal-Control-Systems.pdf
Evaluating-Internal-Control-Systems.pdfEvaluating-Internal-Control-Systems.pdf
Evaluating-Internal-Control-Systems.pdf
 
Air vision2 user_guide
Air vision2 user_guideAir vision2 user_guide
Air vision2 user_guide
 
Evaluating internal-control-systems
Evaluating internal-control-systemsEvaluating internal-control-systems
Evaluating internal-control-systems
 
Control engineering assignment
Control engineering assignment Control engineering assignment
Control engineering assignment
 
CIMA_unlocking_business_intelligence
CIMA_unlocking_business_intelligenceCIMA_unlocking_business_intelligence
CIMA_unlocking_business_intelligence
 
MAGHRENOV deliverable 5.1: Tested service package for entrepreneurs
MAGHRENOV deliverable 5.1: Tested service package for entrepreneursMAGHRENOV deliverable 5.1: Tested service package for entrepreneurs
MAGHRENOV deliverable 5.1: Tested service package for entrepreneurs
 
Ppm7.5 demand cg
Ppm7.5 demand cgPpm7.5 demand cg
Ppm7.5 demand cg
 
Smart attendance system using facial recognition
Smart attendance system using facial recognitionSmart attendance system using facial recognition
Smart attendance system using facial recognition
 
Report on e-Notice App (An Android Application)
Report on e-Notice App (An Android Application)Report on e-Notice App (An Android Application)
Report on e-Notice App (An Android Application)
 
Systematizing In-Store Traffic and Minimization of Service Quality Gaps of a ...
Systematizing In-Store Traffic and Minimization of Service Quality Gaps of a ...Systematizing In-Store Traffic and Minimization of Service Quality Gaps of a ...
Systematizing In-Store Traffic and Minimization of Service Quality Gaps of a ...
 
MFG/PRO QAD Reporting Framework Document Guide
MFG/PRO QAD Reporting Framework Document GuideMFG/PRO QAD Reporting Framework Document Guide
MFG/PRO QAD Reporting Framework Document Guide
 
Grid connected pv power system
Grid connected pv power systemGrid connected pv power system
Grid connected pv power system
 
Case sas 2
Case sas 2Case sas 2
Case sas 2
 
Deployment guide series ibm tivoli identity manager 5.0 sg246477
Deployment guide series ibm tivoli identity manager 5.0 sg246477Deployment guide series ibm tivoli identity manager 5.0 sg246477
Deployment guide series ibm tivoli identity manager 5.0 sg246477
 
Deployment guide series ibm tivoli identity manager 5.0 sg246477
Deployment guide series ibm tivoli identity manager 5.0 sg246477Deployment guide series ibm tivoli identity manager 5.0 sg246477
Deployment guide series ibm tivoli identity manager 5.0 sg246477
 
276.14 nvidia-control-panel-quick-start-guide
276.14 nvidia-control-panel-quick-start-guide276.14 nvidia-control-panel-quick-start-guide
276.14 nvidia-control-panel-quick-start-guide
 
Ifc+solar+report web+ 08+05
Ifc+solar+report web+ 08+05Ifc+solar+report web+ 08+05
Ifc+solar+report web+ 08+05
 
Solar Energy - A Complete Guide
Solar Energy - A Complete GuideSolar Energy - A Complete Guide
Solar Energy - A Complete Guide
 

Recently uploaded

Dpboss Matka Guessing Satta Matta Matka Kalyan Chart Satta Matka
Dpboss Matka Guessing Satta Matta Matka Kalyan Chart Satta MatkaDpboss Matka Guessing Satta Matta Matka Kalyan Chart Satta Matka
Dpboss Matka Guessing Satta Matta Matka Kalyan Chart Satta Matka
➒➌➎➏➑➐➋➑➐➐Dpboss Matka Guessing Satta Matka Kalyan Chart Indian Matka
 
Digital Marketing with a Focus on Sustainability
Digital Marketing with a Focus on SustainabilityDigital Marketing with a Focus on Sustainability
Digital Marketing with a Focus on Sustainability
sssourabhsharma
 
The latest Heat Pump Manual from Newentide
The latest Heat Pump Manual from NewentideThe latest Heat Pump Manual from Newentide
The latest Heat Pump Manual from Newentide
JoeYangGreatMachiner
 
How to Implement a Real Estate CRM Software
How to Implement a Real Estate CRM SoftwareHow to Implement a Real Estate CRM Software
How to Implement a Real Estate CRM Software
SalesTown
 
Top mailing list providers in the USA.pptx
Top mailing list providers in the USA.pptxTop mailing list providers in the USA.pptx
Top mailing list providers in the USA.pptx
JeremyPeirce1
 
Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.
Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.
Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.
AnnySerafinaLove
 
Business storytelling: key ingredients to a story
Business storytelling: key ingredients to a storyBusiness storytelling: key ingredients to a story
Business storytelling: key ingredients to a story
Alexandra Fulford
 
How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....
How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....
How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....
Lacey Max
 
Chapter 7 Final business management sciences .ppt
Chapter 7 Final business management sciences .pptChapter 7 Final business management sciences .ppt
Chapter 7 Final business management sciences .ppt
ssuser567e2d
 
Best practices for project execution and delivery
Best practices for project execution and deliveryBest practices for project execution and delivery
Best practices for project execution and delivery
CLIVE MINCHIN
 
Income Tax exemption for Start up : Section 80 IAC
Income Tax  exemption for Start up : Section 80 IACIncome Tax  exemption for Start up : Section 80 IAC
Income Tax exemption for Start up : Section 80 IAC
CA Dr. Prithvi Ranjan Parhi
 
Best Competitive Marble Pricing in Dubai - ☎ 9928909666
Best Competitive Marble Pricing in Dubai - ☎ 9928909666Best Competitive Marble Pricing in Dubai - ☎ 9928909666
Best Competitive Marble Pricing in Dubai - ☎ 9928909666
Stone Art Hub
 
Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...
Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...
Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...
my Pandit
 
Satta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel Chart
Satta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel ChartSatta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel Chart
Satta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel Chart
➒➌➎➏➑➐➋➑➐➐Dpboss Matka Guessing Satta Matka Kalyan Chart Indian Matka
 
Digital Transformation Frameworks: Driving Digital Excellence
Digital Transformation Frameworks: Driving Digital ExcellenceDigital Transformation Frameworks: Driving Digital Excellence
Digital Transformation Frameworks: Driving Digital Excellence
Operational Excellence Consulting
 
Building Your Employer Brand with Social Media
Building Your Employer Brand with Social MediaBuilding Your Employer Brand with Social Media
Building Your Employer Brand with Social Media
LuanWise
 
Maksym Vyshnivetskyi: PMO KPIs (UA) (#12)
Maksym Vyshnivetskyi: PMO KPIs (UA) (#12)Maksym Vyshnivetskyi: PMO KPIs (UA) (#12)
Maksym Vyshnivetskyi: PMO KPIs (UA) (#12)
Lviv Startup Club
 
Observation Lab PowerPoint Assignment for TEM 431
Observation Lab PowerPoint Assignment for TEM 431Observation Lab PowerPoint Assignment for TEM 431
Observation Lab PowerPoint Assignment for TEM 431
ecamare2
 
GKohler - Retail Scavenger Hunt Presentation
GKohler - Retail Scavenger Hunt PresentationGKohler - Retail Scavenger Hunt Presentation
GKohler - Retail Scavenger Hunt Presentation
GraceKohler1
 
Hamster Kombat' Telegram Game Surpasses 100 Million Players—Token Release Sch...
Hamster Kombat' Telegram Game Surpasses 100 Million Players—Token Release Sch...Hamster Kombat' Telegram Game Surpasses 100 Million Players—Token Release Sch...
Hamster Kombat' Telegram Game Surpasses 100 Million Players—Token Release Sch...
SOFTTECHHUB
 

Recently uploaded (20)

Dpboss Matka Guessing Satta Matta Matka Kalyan Chart Satta Matka
Dpboss Matka Guessing Satta Matta Matka Kalyan Chart Satta MatkaDpboss Matka Guessing Satta Matta Matka Kalyan Chart Satta Matka
Dpboss Matka Guessing Satta Matta Matka Kalyan Chart Satta Matka
 
Digital Marketing with a Focus on Sustainability
Digital Marketing with a Focus on SustainabilityDigital Marketing with a Focus on Sustainability
Digital Marketing with a Focus on Sustainability
 
The latest Heat Pump Manual from Newentide
The latest Heat Pump Manual from NewentideThe latest Heat Pump Manual from Newentide
The latest Heat Pump Manual from Newentide
 
How to Implement a Real Estate CRM Software
How to Implement a Real Estate CRM SoftwareHow to Implement a Real Estate CRM Software
How to Implement a Real Estate CRM Software
 
Top mailing list providers in the USA.pptx
Top mailing list providers in the USA.pptxTop mailing list providers in the USA.pptx
Top mailing list providers in the USA.pptx
 
Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.
Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.
Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.
 
Business storytelling: key ingredients to a story
Business storytelling: key ingredients to a storyBusiness storytelling: key ingredients to a story
Business storytelling: key ingredients to a story
 
How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....
How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....
How are Lilac French Bulldogs Beauty Charming the World and Capturing Hearts....
 
Chapter 7 Final business management sciences .ppt
Chapter 7 Final business management sciences .pptChapter 7 Final business management sciences .ppt
Chapter 7 Final business management sciences .ppt
 
Best practices for project execution and delivery
Best practices for project execution and deliveryBest practices for project execution and delivery
Best practices for project execution and delivery
 
Income Tax exemption for Start up : Section 80 IAC
Income Tax  exemption for Start up : Section 80 IACIncome Tax  exemption for Start up : Section 80 IAC
Income Tax exemption for Start up : Section 80 IAC
 
Best Competitive Marble Pricing in Dubai - ☎ 9928909666
Best Competitive Marble Pricing in Dubai - ☎ 9928909666Best Competitive Marble Pricing in Dubai - ☎ 9928909666
Best Competitive Marble Pricing in Dubai - ☎ 9928909666
 
Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...
Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...
Unveiling the Dynamic Personalities, Key Dates, and Horoscope Insights: Gemin...
 
Satta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel Chart
Satta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel ChartSatta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel Chart
Satta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel Chart
 
Digital Transformation Frameworks: Driving Digital Excellence
Digital Transformation Frameworks: Driving Digital ExcellenceDigital Transformation Frameworks: Driving Digital Excellence
Digital Transformation Frameworks: Driving Digital Excellence
 
Building Your Employer Brand with Social Media
Building Your Employer Brand with Social MediaBuilding Your Employer Brand with Social Media
Building Your Employer Brand with Social Media
 
Maksym Vyshnivetskyi: PMO KPIs (UA) (#12)
Maksym Vyshnivetskyi: PMO KPIs (UA) (#12)Maksym Vyshnivetskyi: PMO KPIs (UA) (#12)
Maksym Vyshnivetskyi: PMO KPIs (UA) (#12)
 
Observation Lab PowerPoint Assignment for TEM 431
Observation Lab PowerPoint Assignment for TEM 431Observation Lab PowerPoint Assignment for TEM 431
Observation Lab PowerPoint Assignment for TEM 431
 
GKohler - Retail Scavenger Hunt Presentation
GKohler - Retail Scavenger Hunt PresentationGKohler - Retail Scavenger Hunt Presentation
GKohler - Retail Scavenger Hunt Presentation
 
Hamster Kombat' Telegram Game Surpasses 100 Million Players—Token Release Sch...
Hamster Kombat' Telegram Game Surpasses 100 Million Players—Token Release Sch...Hamster Kombat' Telegram Game Surpasses 100 Million Players—Token Release Sch...
Hamster Kombat' Telegram Game Surpasses 100 Million Players—Token Release Sch...
 

test

  • 1. SIM UNIVERSITY SCHOOL OF SCIENCE AND TECHNOLOGY MOBILE DEVICE MANAGEMENT STUDENT : YEO KWAN CHING PETER (PI NO. H0806618) SUPERVISOR : MR. SAMUEL LEE PROJECT CODE : JAN2011/ICT/011 A project proposal submitted to SIM University in partial fulfillment of the requirements for the degree of Bachelor of Business and Information Technology (Hons) November 2011
  • 2. Abstract Managing mobile devices is essential in organizations issuing large number of mobile devices to staff. The main purpose of this project is to develop a web application and simulator to showcase how Mobile Device Management (MDM) software can help these organizations in terms of cutting down costs through tracking real-time usage (Voice / Data / SMS), efficient handling and maintenance of asset (Application / Mobile Device) staff and policy information, easy application installation and un-installation. The other purpose is to showcase how MDM can reduce business risk by “protecting” confidential organization data when mobile device are lost, through Wipe and Lock instructions sent from the web application and over the air (OTA) through mobile network. As such, this project is an attempt to provide awareness on all these benefits. This is done through designing and implementing a simulator with good visual feedback and an efficient web application. Besides providing awareness to these organizations, this project also serves as a conceptual foundation underlying the many important features present in MDM software available in the market today, and may be of interest to researchers and developers new to this area.
  • 3. Acknowledgement First, I wish to express my sincere gratitude to my project supervisor for providing me with the opportunity to do my project work on Mobile Device Management (MDM). This project involves developing a showcase package to conceptually present how MDM can help organizations. Initially, there are some areas I was not familiar with and I sincerely thank him for all the advice given. I would like to thank my boss, Mr. Kwan (M.D) for his support and letting me take urgent leave as required and also Mr. Ron Loi (CFO) from Ernst and Young for sharing my ERP workload during this tough period of time. Last but not least, I would like to thank my family and friends for their on-going support and encouragement.
  • 4. List of Figures Figure 1: Device Types….......................................................................................... 3 Figure 2: Setup Overview…...................................................................................... 4 Figure 3: Project Plan……………………………………………………………… 6 Figure 4: Process Flow for adding Information…………………………………… 21 Figure 5: What comes before Assigning Device to a staff……………………....... 24 Figure 6: Process Flow for editing Information………………………………….... 24 Figure 7: Process Flow for Deleting Information…………………………………. 25 Figure 8: Process Flow for executing Wipe or Lock requests…………………….. 27 Figure 9: Process Flow for Application Installation………………………………. 28 Figure 10: Process Flow for Application Un-Installation…………………………. 28 Figure 11: Login Screen…………………………………………………………… 29 Figure 12: Non-Management Home Screen............................................................. 30 Figure 13: Administrator Home Screen……………………………………………. 31 Figure 14: Management Home Screen…………………………………………….. 32 Figure 15: Human Resource Home Screen………………………………………… 33 Figure 16: Initial Web Application User Interface………………………………… 35 Figure 17: MDM ER-Model……………………………………………………….. 37 Figure 18: Simulator Feedback…………………………………………………….. 49
  • 5. List of Tables Table 1: Risk Check List …..................................................................................... 7 Table 2: Functionalities in User Controller …......................................................... 17 Table 3: Functionalities in Administrator Controller ……………………………… 18 Table 4: Functionalities in Management Controller ………………………………. 19 Table 5: Functionalities in HR Controller ……………….……………………....... 19 Table 6: Application Functionality Groups Access Settings……………………... 21 Table 7: APPLICATION ……………………….…………………………………. 37 Table 8: APPLICATION_FUNCTION …………………….…………………….. 38 Table 9: AUDIT_TRAIL_LOGIN ………………..………………………………. 39 Table 10: AUDIT_TRAIL_LOGOUT ……………………………………………. 39 Table 11: AUDIT_TRAIL_OPERATION ………………………………………... 40 Table 12: CONTACTS_FUNCTION….................................................................. 40 Table 13: DEVICE................................................................................................... 41 Table 14: DEVICE_APPLICATION...................................................................... 42 Table 15: DEVICE_BRAND…………………………………...…………………. 42 Table 16: DEVICE_CALL_LOG…………………………...…………………….. 43 Table 17: DEVICE_CONTACTS......................................................................…. 43 Table 18: DEVICE_LOCATION..........................................................….............. 44 Table 19: DEVICE_MONTHLY_USAGE…......................................................... 44 Table 20: DEVICE_OS........................................................................................... 45 Table 21: DEVICE_TYPE…...……………………………………………………. 45 Table 22: POLICY…...……………………………………………………………. 45 Table 23: STAFF…...………………………………………………………….….. 46 Table 24: STAFF_DEPARTMENT…................................................................... 47 Table 25: WIPE_LOCK_REQUEST…...………………………………………… 47 Table 26: Functionalities in Simulator Controller……………………………...... 48 Table 27: Functional Test for User Controller…………………………………… 50 Table 28: Functional Test for Administrator Controller………………………… 51 Table 29: Functional Test for Management Controller…………………………... 52 Table 30: Functional Test for HR Controller………………………………. 52 Table 31: Functional Test for Simulator Controller………………………………. 52
  • 6. Table Of Contents Page Abstract i Acknowledgement ii Lists Of Figures iii List Of Tables iv Chapter One Introduction 1 1.1 Background and Motivation 1 1.2 Objectives 2 1.3 Scope 2 1.4 Overview of the Project 3 1.5 Project Management Techniques used 4 1.6 Layout of the Project Report 11 Chapter Two Literature Review 12 2.1 Role of Mobile Device Management Client 12 2.2 Role of Mobile Device Management Console 12 2.3 Features 13 Chapter Three Web Application 17 3.1 Core Functionalities 17 3.2 User Interface 29 3.3 Enhancement 34 Chapter Four Database 36 4.1 Entity Relational Model 36 4.2 Transforming ER-Model to Database Design 38 Chapter Five Simulator 48 5.1 Core Functionalities 48 5.2 Enhancement 48 Chapter Six Testing 50 Chapter Seven Conclusion 53 7.1Future Work 53 7.2Reflections 53 References 55
  • 7. APPENDIX A (UAT Forms) 56 APPENDIX B (Unit Testing) 71 APPENDIX C (Use Case) 75 APPENDIX D (MVC Models) 76 APPENDIX E (SQL DDL scripts) 91 APPENDIX F (Application Codes) 97
  • 8. Chapter One Introduction Managing a large number of mobile devices issued to staff is a challenge for many organizations. Mobile Device Management (MDM) software secure, monitors, manages and supports mobile devices deployed across mobile operators [1]. MDM functionality typically includes tracking usage (Voice, Data and SMS) and wiping & locking for all types of mobile devices such as phones and tablets. The intent of MDM is to significantly reduce support and maintenance cost for managing a large number of mobile devices, monitoring and reducing usage (Voice / Data / SMS) cost through the enforcement of polices, and also reducing business risk by “protecting” confidential data through wiping and locking. All these are achieved through utilizing over the air capabilities (OTA). 1.1 Background & Motivation When an employee is out stationed overseas, their issued mobile device’s usage cost would shoot up easily. MDM software can track usage and alert user when nearing policy limit to cut down overseas roaming usage costs. Without MDM, the usage costs are only known at the end of month and high usage cost could already have been incurred. As such, MDM software is very important for organizations who issue a large number of mobile devices to staff in terms of cutting down costs. Many issued mobile devices contain organizations’ confidential data and it is very important to “protect” this data. MDM software can wipe or lock phones. Without MDM, confidential data may be leaked when devices are lost. As such, investing in MDM software is very important for organizations who issue a large number of mobile devices to staff in terms of reducing business risk and this is in Forrester’s Top 20 mobile device management security best practices [6]. When there are updates to In-House applications, it is time-consuming to collect phones physically from employees and do an update manually one by one. Not only is it bad for productivity, it may also badly affect customers and disrupt internal communication 1
  • 9. within the organization. In-real life situations, phones may even get lost in the process if not properly handled. Today, more and more employees around the world now work at-home to have a more balanced family life and at the same time contribute to the cost saved by organization on office rental and setup costs. Since the past decade, there is an increase in the use of mobile devices within an organization and this increase creates a stronger need for organizations to have a software application that could help them better manage these devices. These benefits became the motivation of the project that can help organizations to understand and adopt MDM software to cut down costs and business risks. 1.2 Objectives The objective of this project is to develop a mobile device management application that shows through simulation how organizations can control and manage a large number of mobile devices that are in use by staff in different locations and departments. This application will provide an admin console to carry out mobile device management operations. There are a lot of programming software available in the market and this project uses Visual Studio Professional 2010 & SQL 2008. 1.3 Scope Due to the complexity and time needed for creating enterprise MDM software that is fully workable in the real world, a single developer coding a small module could take up to a year to finish it. As such, instead of creating that, this project covers the conceptual foundation of MDM, and focuses on highlighting and simulating the main benefits of MDM by using a simulator with good visual feedback and an efficient web application. Due to the large number of types of devices available, this project includes a total of five types of devices to enhance the visual presentation of the simulator – Iphone 4, BlackBerry, Windows Smart Phone and Android. 2
  • 10. Figure 1: Device types 1.4 Overview of the project In real-life, each issued mobile device will be installed with the client software and the role of this client software is to update the database via push/pull request and carry out instructions – wipe out data, send message - sent from the web application administrator. In this project a simulator will be developed in order to simulate hundreds of mobile devices installed with client software so as to replicate a realistic real-life environment and demonstrate how the program works. The application will be setup and hosted on the World Wide Web in order to provide more flexibility and convenience for the users. The login password would be encrypted and there would be an audit trail for all operations carried out. The database will be setup at the organization data centre and the role of this database is to store data received from all the mobile devices as well as additional information on staff, application and policy. When the database, web-application and simulator is developed/setup and linked properly together and all tasks have been completed, we will have the cutting-edge mobile device management showcase package and achieve the objective of the project. 3
  • 11. Figure 2: Setup Overview 1.5 Project Management Techniques Used Time Management The Software development Life Cycle will be used to ensure the success of this project. A waterfall approach will be taken because it has most of the advantages of the traditional development system development lifecycle and in addition, it has testing and verification at the end of each of the stages. Thus not all the review will be done during the testing stage and this allows any problems to be uncovered in the earlier stages. As this is somewhat a document-driven approach, the waterfall approach would enforce disciple in documenting results of each stage of the project. I choose this approach for my project because many successful projects are completed with the waterfall approach. 4
  • 12. An Initial investigation will be carried out to understand the nature and general prospect of the project. During this stage, the project definition will be drafted, investigation of project background would be carried out and the project plan crafted with projected timeline. Lastly, the initial investigation stage ends with the approval/submission of the project proposal. After Initial investigation, planning would then be carried out to complete the pre- requisite tasks needed for the project. During this stage, the business requirements will be reviewed by the client to ensure the project is moving in the right direction from the start. After reviewing the requirements, there would be an organization of the resources needed and a charter will be created. After that installation of the development tools will be carried out and technical skills will be refreshed through re-learning. This stage ends with a review to ensure everything is going according to plan. After planning, analysis will be carried out mainly to deliver the GUI with navigation structure, and ensure that the simulated vendor’s understanding is concretely aligned with the simulated client’s expectation. This stage ends with a review to check and ensure that the exact GUI expectation is met. After analysis, design will be carried out mainly to setup the database and all the proper related tasks. This stage ends with a review to check and ensure that the database is properly setup. After design, development and testing will be carried out. An object-orientated approach will be implemented in coding and this stage ends with a review to check and ensure that all tasks has been successfully completed, especially the user acceptance test. After development and design, the deploy stage will be carried out to submit all the deliverables and introduce the software into the market. This stage ends with a review and audit, marking the end of this project. The Project Plan is shown on the next Page. Figure 3: Project Plan 5
  • 13. 6
  • 14. Risk Management A Risk Management Checklist [2] has been completed: Not applicable Need info Factor ID Medium Risk Low Risk Medium Risk High Risk High TBD Low Factors Cues Cues Cues Notes Risk Category: Mission and Goals 1 Project Fit to directly supports indirectly impacts does not support √ Customer customer one or more goals or relate to Organization organization of customer customer mission and/or organization goals mission or goals 2 Work Flow little or no change will change some significantly √ to work flow aspect or have changes the work small affect on flow or method of work flow organization Risk Category: Program Management 3 Resource projects within the projects within the projects within the √ Conflict program share program schedule program often resources without resources need the same any conflict carefully to avoid resources at the conflict same time (or compete for the same budget) 4 Customer multiple multiple multiple √ Conflict customers of the customers of the customers of the program have program have program are trying common needs different needs, to drive it in very but do not conflict different directions Risk Category: Decision Drivers 5 Use of Attractive technology project is being project is being √ Technology selected has been done in a sub- done as a way to in use for some optimal way, to show a new time leverage the technology or as purchase or an excuse to bring development of a new technology new technology into the organization Risk Category: Organization Management 6 Organization little or no change some management or √ Stability in management or management organization structure expected change or structure is reorganization continually or expected rapidly changing 7 Policies and development development no policies or √ Standards policies and policies and standards, or they standards are standards are in are ill-defined and defined and place, but are unused carefully followed weak or not carefully followed 8 Project verifiable project some project no established √ Objectives objectives, objectives, project objectives reasonable measures may be or objectives are requirements questionable not measurable 7
  • 15. Not applicable Need info Factor ID Medium Risk Low Risk Medium Risk High Risk High TBD Low Factors Cues Cues Cues Notes Risk Category: Customers/Users 9 User Involvement users highly users play minor minimal or no user √ involved with roles, moderate involvement; little project team, impact on system user input provide significant input 10 User Experience users highly users have users have no √ experienced in experience with previous similar projects; similar projects experience with have specific and have needs in similar projects; ideas of how mind unsure of how needs can be met needs can be met 11 User Acceptance users accept users accept most users do not √ concepts and of concepts and accept any details of system; details of system; concepts or process is in place process in place design details of for user approvals for user approvals system 12 User Training user training user training requirements not √ Needs needs considered; needs considered; identified or not training in no training yet or addressed progress or plan training plan is in in place development Risk Category: Product Content 13 Requirements little or no change some change rapidly changing √ Stability expected to expected against or no agreed-upon approved set approved set baseline (baseline) 14 Requirements all completely some some √ Completeness specified and requirements requirements only and Clarity clearly written incomplete or in the head of the unclear customer 15 Testability product parts of product most of product √ requirements easy hard to test, or hard to test, or no to test, plans minimal planning test plans being underway being done made 16 Design Difficulty well defined unclear how to interfaces not well √ interfaces; design design, or aspects defined or well understood of design yet to be controlled; subject decided to change 17 Implementation content is content has content has √ Difficulty reasonable for this elements components this team to implement somewhat difficult team will find very for this team to difficult to implement implement Risk Category: Deployment 18 Data Migration little or no data to much data to much data to √ Required migrate migrate, but good migrate; several descriptions types of data or available of no good structure and use descriptions of what is where 8
  • 16. Not applicable Need info Factor ID Medium Risk Low Risk Medium Risk High Risk High TBD Low Factors Cues Cues Cues Notes Risk Category: Development Process 19 Use of Defined development process no formal process √ Development process in place, established, but used Process established, not followed or is effective, followed ineffective by team 20 Early peer reviews are peer reviews are team expects to √ Identification of incorporated used sporadically find all defects Defects throughout with testing Risk Category: Development Environment 21 Tools Availability in place, available, unvalidated, √ documented, validated, some proprietary or validated development major needed (or development minimal needed; no documentation) documentation 22 Disaster all areas following some security no security √ Recovery security measures in measures in guidelines; data place; backups place; backup backed up; done; disaster lacking; disaster disaster recovery recovery recovery not system in place; considered, but considered procedures procedures followed lacking or not followed Risk Category: Project Management (PM) 23 PM Approach product and planning and weak or √ process planning monitoring need nonexistent and monitoring in enhancement planning and place monitoring Risk Category: Developer 24 Application extensive some experience little or no √ Experience experience in with similar experience with projects like this projects similar projects 25 Expertise with good background some experience no expertise and √ Application Area with application or able to call on no availability of (Domain) domain experts as needed experts 26 Experience with high experience average low experience √ Project Tools experience 27 Experience with high experience average low experience √ Project Process experience Risk Category: Technology 28 Technology technology some of the selected √ Match to Project planned for project planned technology is a is good match to technology is not poor match to the customers and well-suited to the problem or problem problem or customer customer 29 Technology good level of some experience no experience √ Experience experience with with the with the technology technology technology 9
  • 17. Not applicable Need info Factor ID Medium Risk Low Risk Medium Risk High Risk High TBD Low Factors Cues Cues Cues Notes 30 Availability of technology experts available will need to √ Technology experts readily elsewhere in acquire help from Expertise available organization outside the organization 31 Maturity of technology has technology is well technology is √ Technology been in use in the understood in the leading edge, if industry for quite industry not "bleeding some time edge" in nature Total Categories 12 Total 22 7 2 Factors 31 Table 1: Risk Checklist Checklist is customized & generated from http://www2.dir.state.tx.us/sitecollectiondocuments/it leadership/framework/project planning/supplemental tools/risk factors_genericproject.doc Resource Management Project Resources: 1. Development Software  Visual Studio Professional 2010 (Provided by Microsoft Dream Spark)  Microsoft SQL 2008 R2 Developer Edition (Provided by Microsoft Dream Spark) 2. Programming Related and others  ASP.NET Model View Controller (MVC) 3.0  Microsoft Razor View Engine  JQuery (Client Side Validations)  Ajax (Client Side Interaction)  DBML (Data Support)  SQL to ENT (Data Support)  SQL to LINQ (Data Support) 10
  • 18. ENT Framework 4.1 (Data Support)  ASP.NET Web Admin Tool (Account Support) 1.6 Layout of the project report From here on, the report contains six more chapters. Chapter 2 provides a literature review and touches on how the project is approached. Chapter 3, 4 and 5 covers the design & implementation of each main component needed in detail for the entire system to work. Finally, Chapter 6 covers testing and Chapter 7 covers the conclusion of this project, highlighting future work and reflections. 11
  • 19. Chapter Two Literature Review 2.1 Role of Mobile Device Management Client According to the data researched from global leading MDM solutions providers - MobileIron, Sybase, Tangoe and Excitor – in the market, the role of the client is to carry out commands sent from the centralized management console. In this project, the Mobile Device Client execution of instructions from the centralized management console is feedback by the simulator. The features that are aligned with the objectives of the project in terms of reducing cost and business risk is noted and implemented (on the client side) through the simulator feedback. The full list and details of features implemented is available in Chapter 5. 2.2 Role of Mobile Device Management Console The role of the MDM Centralized management console is to send commands to the MDM client(s). In this project, the focus is more on the console than the simulator. As such, most of the features can be found in the web application. The Mobile Device Management Console supports multiple concurrent devices for users. It gets data such as usage from the mobile device upon request from the console. This makes mobile device usage monitoring easy for management. This Console also supports remote Wipe and Lock. It accepts Wipe and Lock requests from the management. The administrator will have access to these requests and they are the ones who do the execution of the delete and wipe requests. This provides more security and makes it harder for employees to misuse the system. The full list and details of features implemented is available in Chapter 3. 12
  • 20. 2.3 Features The List of features provided by Tangoe MDM software includes [3]: 1. On-device client support for iPhone, Android, Blackberry, Windows Mobile 2. Self-service portal  Device detail views  Smartphone data wipe & kill  Remote lock, wipe and password clear 3. Centralized management console providing support for multiple concurrent devices for users (e.g. smartphone and table) 4. Corporate directory integration 5. Policy management 6. Application management for managing enterprise application deployments/upgrades to iOS, Android, Blackberry and Windows Mobile devices 7. Real-time smartphone usage tracking  Detect international roaming and alert wireless administrators and / or automatically disable cost-incurring smartphones device features while roaming  Detect inactive devices  Capture and view voice, SMS, and data usage information  View smartphone usage via user profile  Granular usage viewing options available 8. Custom security roles  Three default security roles (Everyone, Help Desk, and System Administrator) Tangoe MDM Features taken from http://www.tangoe.com/Software/features-a-benefits.html 13
  • 21. The List of features provided by MobileIron MDM software includes [4]: 1. Multi-OS Device Management  Central Web-based console across operating systems  Inventory and asset management  Encryption policy (phone, SD)  Remote lock and wipe  End-user self-service 2. Enterprise Data Boundary  Selective wipe  Privacy Policy 3. App Management  Inventory  Secure publishing and delivery 4. Lost Phone Recovery  Locate and map 5. Administration  Over-the-air provisioning  Role-based access  Group-based actions  Broadcast SMS, APNs, C2DM  Persistent logs and audit trails 6. Visibility and Reporting  Across Voice / SMS / Data  Across phone OS  Across operators  Across employee-billed & company-billed phones  Across locations 7. Exception and Abuse Control  Inactive phones  Activity spikes 14
  • 22. Overages 8. Event Center  Activity thresholds  Security indicators  Alert triggers MobileIron MDM Features taken from https://info.mobileiron.com/prd_datasheet_2_BING.html The List of features provided by Excitor MDM software includes [5]: 1. Deploy applications to users’ phones  Deploy applications and upgrades over-the-air  Select either user self-provisioning or a centralized push of applications  Create standard configurations, applications and set-ups of user  Monitor installation progress  Set up instant, scheduled or manual synchronization options  Control which operators are used roaming 2. Administer mobility solution  Obtain an overview of all devices, applications installed and OS versions  Monitor data and application access  Remotely wipe phones completely before they are disposed of or reassigned 3. Support users  Easily troubleshoot user issues via detailed logs and reports of user actions 4. Secure organization’s data  Remotely delete memories of lost or stolen mobile phones  Automatically wipe a phone’s memory if and authorized SIM card is inserted  Block access to unapproved applications or functions  Password-protect the entire phone, or selected applications 15
  • 23. Excitor MDM Features taken from http://www.excitor.com/DME_Moblie_Device_Manager-586.aspx The List of features provided by Sybase MDM software includes [6]: 1. Heterogeneous device support  iPhone, Blackberry, Windows 32 (laptops/tablets) and Windows Mobile devices 2. Easy Management of mobile devices throughout their entire lifecycle from initial deployment to re-provisioning and decommissioning.  Implement the many aspects of usage policies 3. Mobile Security  Enforce user authentication and encryption of data in transit, on device and storage media  Able to implement kill-pill / data facade policies should the device be lost or stolen 4. Application Management  Develop, deploy and maintain applications, mobilizing business processes and data 5. Enterprise-Grade Device Management  Provides a single administrative console to centrally manage, secure and deploy mobile data, applications and devices. The features that are aligned with the objectives of the project in terms of reducing cost and business risk are mostly implemented. The full list of the functionalities implemented is available in the next Chapter, Web Application. 16
  • 24. Chapter Three Web Application 3.1 Core Functionalities The role of this web application is to provide mobile device management services and information to the administrator, management, Human Resource and users. Functionalities for the administrator includes maintaining information on device, application and policy, execute wipe or lock requests from management. Functionalities for Management includes sending wipe or lock requests to administrator, retrieving Device User Information, and generating reports on monthly usage and devices. Functionalities for Human Resource includes maintain information on staff and department. Functionalities The full list of functionalities is technically grouped into four main categories 1. User Controller 2. Administrator Controller 3. Management Controller 4. HR Controller. 1. User Controller Name Function Device Info Displays the information of issued device(s) belonging to login user. Staff Info Displays the information of login user. Table 2: Functionalities in User Controller 17
  • 25. 2. Administrator Controller Name Function Add OS Adds information on new mobile device operating system to database Add Device Type Adds information on new mobile device type to database Add Brand Adds information on new mobile device brand to database Assigns an unissued mobile device to a staff or Device Assign Switch mobile device owner Add Device Adds information on new mobile device to database Edits information of an existing mobile device and saves the changes to Edit Device database Del Device Deletes all information of an existing mobile device from database Wipe Device Wipes all sensitive data on an existing mobile device Lock Device Locks an existing mobile device to prevent further usage Add Application Adds information on new mobile device application to database Edits information of an existing mobile device application and saves Edit Application the changes to database Delete Application Deletes all information of an existing application from database Install Application Installs or update application on an existing mobile device Uninstall Uninstall an application from an existing mobile device Application (application must also exist on the device) Add Policy Adds information on new usage policy to database Edits information of an existing usage policy and saves the changes to Edit Policy database Delete Policy Delete all information of an existing policy from the database Table 3: Functionalities in Administrator Controller 18
  • 26. 3. Management Controller Name Function Device User Info Display the list of user device information. Generate Reports Generates monthly usage Reports (a) Top Users By Voice Usage (b) Top Users By Data Usage (c) Top Users By SMS Usage Generates List of Devices (a) By Country by department (b) By Function by brand Request Wipe Request Administrator to wipe an existing device Request Lock Request Administrator to lock an existing device Table 4: Functionalities in Management Controller 4. HR Controller Name Function Add Staff Adds information on new staff to database Edits information of an existing staff and saves all changes to the Edit Staff database Delete Staff Deletes all information of an existing staff from the database Add Department Adds information on new department to database Table 5: Functionalities in HR Controller 19
  • 27. There a total of four types of users, each assigned with access to different groups of functionalities. Application Functionality Groups Access Settings Type Functionality Groups Permitted Non-Mgt Staff User Controller Mgt Staff User Controller / Management Controller HR Staff User Controller / HR Controller Administrator User Controller / Administrator Controller Table 6: Application Functionality Groups Access Settings Workflow & Transformation of Inputs to Outputs The workflow is very important for MDM users to understand the operation procedures and use the software correctly. Besides aiding the users, the workflow also aids the developers in creating test cases. As such, the workflow for each of the application functionalities is created and can be found below. View Issued Device information: 1. Administrator / Management / Non-Management / HR Staff Login to application. 2. Issued Device(s) information displayed. View Staff Information: 1. Administrator / Management / Non-Management / HR Staff Login to application. 2. Selects Staff Info Service View Device User Information: 1. Management / Administrator select a staff from a list. 2. Device(s) information displayed asynchronously. 3. Process repeated as required 20
  • 28. Generate Reports: 1. Management / Administrator selects one of the below and Print. (a) Generate Top Voice Users (b) Generate Top Data Users (c) Generate Top SMS Users (d) List Devices by Country by department (e) List Devices by Function by brand Add OS Add Device Edit Type Details Add Brand Yes Add No Device Submit Contains Errors? Complete Details Add Application Add Policy Figure 4: Process Flow for Information Input Add Staff Add Department Assign Devices Add Operating System: 1. Administrator gets new Operating System details from Manufacturer 2. Keys in details and Submit. 21
  • 29. Error Occurs if: (a) Input Operating System Name already exist in database (b) Any required fields – Name, Description, Version - are empty Add Device Type: 1. Administrator gets new Device Type details from Manufacturer 2. Keys in details and Submit Error Occurs if: (a) Input Device Type already exists in database. (b) Any required fields – Name, Description - are empty. Add Brand: 1. Administrator gets new Brand details from Manufacturer 2. Keys in details and Submit Error Occurs if: (a) Input Brand and Model number (together) already exists in database. (b) Any required fields – Name, Model No. - are empty. Add Device: 1. Administrator gets new device details from Manufacturer 2. Keys in details and Submit Error Occurs if: (a) Input Phone No. or IMEI No. already exists in database. (b) Any required fields – Phone No., IMEI - are empty. Add Application: 1. Administrator gets new Application details from Manufacturer 2. Keys in details and Submit. Error Occurs if: (a) Input Application Name already exist in the database 22
  • 30. Add Policy: 1. Administrator gets new policy details from Management. 2. Keys in details and Submit. Error Occurs if: (a) Input Policy Name already exists in database (b) Any required fields - - are empty Add Staff: 1. HR Staff prepares new staff details. 2. Contact Administrator to use ASP.NET Web Admin Tool to create the user login account first. 3. Keys in details and Submit. Error Occurs if: (a) Input Staff Email already exists in database (b) Administrator did not create the user login account first Add Department: 1. HR Staff prepares new department details. 2. Keys in details and Submit. Error Occurs if: (a) Input Department Name already exists in database (b) Required field - Department Phone – is empty Assign Device: 1. Administrator assigns Device to a staff after creating a new device or receives a re- assign request from management. 2. Keys in details and Submit Error Occurs if: (a) Input Staff Email or Phone No. does not exist in database 23
  • 31. Mgt issues Re-Assign Request Add Assign Start Device Device Figure 5: What comes before Assigning Device to a staff Edit Details Edit Device Yes Edit No Application Save Contains Complete Changes Errors? Edit Policy Edit Staff Figure 6: Process Flow for editing information Edit Device: 1. Administrator keys in Phone No. to retrieve the device for editing. Error Occurs if: (a) Input Phone No. does not exist in the database. 2. Administrator makes the necessary editing and save changes. Error Occurs if: (a) IMEI No. is not exactly 15 characters in length 24
  • 32. Edit Application: 1. Administrator selects an existing application to edit. 2. Administrator makes the necessary editing and save changes. Error Occurs if: (a) Required Field is “deleted” Edit Policy: 1. Administrator selects an existing policy to edit. 2. Administrator makes the necessary editing and save changes. Error Occurs if: (a) Required Field is “deleted” Edit Staff: 1. HR Staff keys in Staff Email to retrieve the information for editing. Error Occurs if: (a) Input Staff Email does not exist in the database. 2. Administrator makes the necessary editing and save changes. Get another Record Del Device No Del Application Yes Check Details Delete Details match? Del Policy Del Staff Figure 7: Process Flow for Deleting Information 25
  • 33. Delete Device: 1. Administrator keys in Phone No. to retrieve the device for deletion Error Occurs if: (b) Input Phone No. does not exist in the database. 2. Administrator checks the details and if correct, deletes the device. Delete Application: 1. Administrator selects an existing application to delete. 2. Administrator checks the details and if correct, deletes the application. Delete Policy: 1. Administrator selects an existing policy to delete. 2. Administrator checks the details and if correct, deletes the policy. Delete Staff: 1. HR Staff keys in Staff Email to retrieve the record for deletion Error Occurs if: (a) Input Staff Email does not exist in the database. 2. HR Staff checks the details and if correct, deletes the record. 3. HR Staff informs Administrator to delete the user login account. 26
  • 34. Select another Request No Wipe Device Yes Check Details Execute Details match? Request Lock Device Figure 8: Process Flow for executing Wipe or Lock requests Wipe Device: 1. Administrator selects an available pending request from Management 2. Administrator Checks the details and if correct, executes the wipe request. Lock Device: 1. Administrator selects an available pending request from Management 2. Administrator Checks the details and if correct, executes the Lock request. Request Wipe: 1. Management enters Phone No. & Staff Email Error Occurs if: (a) Input Phone No. or Staff Email does not exists in database (b) The Wipe Request submitted already exists in database Request Lock: 1. Management enters Phone No. & Staff Email Error Occurs if: (a)Input Phone No. or Staff Email does not exists in database (b)The Lock Request submitted already exists in database 27
  • 35. Install Application: 1. Administrator fills in Phone No. & selects the application and clicks install Error Occurs if: (a) Input Phone No. does not exist in database Yes No Updates Feedback (Latest Ver. Latest Already Installed) Version? Application Yes No Application Installs Click already Application Install installed? Figure 9: Process Flow for Application Installation Uninstall Application: 1. Administrator fills in Phone No. & selects the application and select uninstall Check & Edit Input No Click Yes Un-Installs Application Un-Install Application installed Figure 10: Process Flow for Application Un-Installation 28
  • 36. 3.2 User Interface The vibrant blue color symbolizes the organization’s approachable character and its emphasis on building relationships with customers, employees and the community. The orange color represents the friendly nature of the organization. Figure 11: Login Screen 29
  • 37. Figure 12: Non-Management Home Screen 30
  • 38. Figure 13: Administrator Home Screen 31
  • 39. Figure 14: Management Home Screen 32
  • 40. Figure 15: Human Resource Home Screen 33
  • 41. 3.3 Enhancement Enhancements have been made to the required input of data: Initially, the web application accepts IMEI number for the input to retrieve the device for editing, deleting, installing or uninstalling applications and wiping or locking. IMEI number may not be ideal because it may not be readily accessible to the administrator and it is not practical to remember 15 numbers. Phone number is definitely more readily assessable and easier to remember. As such, enhancements have been made to the application to accept device phone number instead of IMEI number. Similarly, the web application initially accepts StaffID for the input to retrieve the staff information for editing or deleting. StaffID is also not readily accessible to the HR Staff. Staff Email is definitely more readily accessible to HR Staff and easier to remember. As such, enhancements have been made to the application to accept StaffEmail instead of StaffID. Enhancements have been made to ASP.NET Server controls: Initially, the web application uses textbox to accept the application name as input to retrieve the application for editing and deleting. Application name may not be ideal because it may not be easy to recall the name. A drop down list showing all applications available in the database would probably be more user-friendly. As such, Enhancements have been made to the application to replace the textbox to a drop down list containing the full list of applications instead. Enhancements have been made to the application user interface: Initially, the web application user interface consists of two colors. Enhancements have been made to the user interface to give a more refreshing look through adding a third color (Orange). Besides color, initially the web application user interface has poorer usability. i.e. users need to provide more input for the functionalities. As such enhancements have been made to reduce the amount of input required. For example, initially a login user issued with multiple mobile devices would need to select from a drop down list as shown in figure 16. 34
  • 42. Figure 16: Initial Web Application User Interface All the Application codes are available in Appendix F. 35
  • 43. Chapter Four Database 4.1 Entity Relational Model In this project the Entity Relational (ER) Model is created first before doing the database design. This ER-model serves as the blueprint of the database and any changes are made to the data model at this stage to save up on the huge amount of work needed if many changes are made during database design. 36
  • 44. Figure 17: MDM ER-Model 37
  • 45. 4.2 Transforming ER-Model to Database Design After the ER-Model has been finalized (around the time of submitting the project interim report), the database design is carried out. The full list of tables created is shown below. MVC Models is available in Appendix D and complete SQL DDL script used to create all the tables and constraints is also available in Appendix E. (* denotes Primary Key) APPLICATION Attribute Description Data Type Null *AppName The Application Name varchar(100) No AppID An auto generated running number given to each Application int No AppVersion The Latest Version of the Application varchar(25) Yes AppDescription The Description of the Application varchar(1000) No AppMemMBUsage The amount of memory needed (MB) to install the application varchar(10) No Table 7: APPLICATION APPLICATION Constraints: CONSTRAINT ApplicationPK PRIMARY KEY (AppName), CONSTRAINT ApplicationAK1 UNIQUE (AppID) APPLICATION_FUNCTION Attribute Description Data Type Null *AppName The Application Name varchar(100) No *[Function] The Staff function (application is meant to be used by) varchar(25) No Table 8: APPLICATION_FUNCTION 38
  • 46. APPLICATION_FUNCTION Constraints: CONSTRAINT Application_FunctionPK PRIMARY KEY (AppName,[Function]), CONSTRAINT Application_FunctionFK1 FOREIGN KEY(AppName) REFERENCES Application(AppName) ON UPDATE CASCADE ON DELETE CASCADE AUDIT_TRAIL_LOGIN Attribute Description Data Type Null *ATLI_ID An auto generated running number given to each record int No StaffEmail The Staff Email (of Logout user) varchar(100) No LoginTime The Date & Time of Login datetime No Table 9: AUDIT_TRAIL_LOGIN AUDIT_TRAIL_LOGIN Constraints: CONSTRAINT Audit_Trail_LoginPK PRIMARY KEY (ATLI_ID), CONSTRAINT Audit_Trail_LoginFK1 FOREIGN KEY(StaffEmail) REFERENCES Staff(StaffEmail) ON UPDATE CASCADE ON DELETE NO ACTION, AUDIT_TRAIL_LOGOUT Attribute Description Data Type Null *ATLO_ID An auto generated running number given to each record int No StaffEmail The Staff Email (of Logout user) varchar(100) No LogoutTime The Date & Time of Logout datetime No Table 10: AUDIT_TRAIL_LOGOUT 39
  • 47. AUDIT_TRAIL_LOGIN Constraints: CONSTRAINT Audit_Trail_LogoutPK PRIMARY KEY (ATLO_ID), CONSTRAINT Audit_Trail_LogoutFK1 FOREIGN KEY(StaffEmail) REFERENCES Staff(StaffEmail) ON UPDATE CASCADE ON DELETE NO ACTION, AUDIT_TRAIL_OPERATION Attribute Description Data Type Null *ATO_ID An auto generated running number given to each record int No StaffEmail The Staff Email (of user carrying out operation) varchar(100) No Operation Operation Details varchar(250) No Table 11: AUDIT_TRAIL_OPERATION AUDIT_TRAIL_OPERATION Constraints: CONSTRAINT Audit_Trail_OperationPK PRIMARY KEY (ATO_ID), CONSTRAINT Audit_Trail_OperationFK1 FOREIGN KEY(StaffEmail) REFERENCES Staff(StaffEmail) ON UPDATE CASCADE ON DELETE NO ACTION, CONTACTS_FUNCTION Attribute Description Data Type Null *ContactNum Must have contact number (for staff with same function) varchar(20) No *[Function] The function of the staff (holding the contact number) varchar(25) No Table 12: CONTACTS_FUNCTION CONTACTS_FUNCTION Constraints: CONSTRAINT Contacts_FunctionPK PRIMARY KEY (ContactNum,[Function]) 40
  • 48. Device Attribute Description Data Type Null *DevicePhoneNo The Phone Number of the Device varchar(20) No DeviceID An auto generated running number given to each record Int No IMEI The International Mobile Equipment Identity of the Device varchar(15) No StaffID The Staff ID of the assigned device int No DevicePurDate The Purchase date of the device DateTime Yes DeviceMBMem The device internal memory in Megabytes Numeric(8,0) Yes DeviceRoaming The Boolean value describing if Roaming is enabled Char(5) Yes DeviceStatus The status of the device (Issued, Wiped, Locked) varchar(25) Yes DeviceEmailE The Email Encryption used by Device varchar(100) Yes DeviceSMSUsage The SMS Usage for current month Numeric(8,0) Yes DeviceDataUsage The Data Usage for current month Numeric(8,0) Yes DeviceVoiceUsage The Voice Usage for current month Numeric(8,0) Yes RemainMemPerc The Remain amount of internal memory Numeric(5,2) Yes OSName The Device Operating System varchar(100) No TypeName The Device Type Name varchar(100) No [DbID] The Device Brand ID int No LocationID The Device Location ID int No Table 13: DEVICE DEVICE Constraints: CONSTRAINT DevicePK PRIMARY KEY (DevicePhoneNo), CONSTRAINT DeviceAK1 UNIQUE (IMEI), CONSTRAINT DeviceAK2 UNIQUE (DeviceID), CONSTRAINT DeviceFK1 FOREIGN KEY(LocationID) REFERENCES DEVICE_LOCATION(LocationID) ON UPDATE CASCADE ON DELETE NO ACTION, CONSTRAINT DeviceFK2 FOREIGN KEY(OSName) REFERENCES DEVICE_OS(OSName) ON UPDATE CASCADE ON DELETE NO ACTION, CONSTRAINT DeviceFK3 FOREIGN KEY(TypeName) REFERENCES DEVICE_TYPE(TypeName) ON UPDATE CASCADE ON DELETE NO ACTION, 41
  • 49. CONSTRAINT DeviceFK4 FOREIGN KEY([DbID]) REFERENCES DEVICE_BRAND(DbID) ON UPDATE CASCADE ON DELETE NO ACTION, DEVICE_APPLICATION Attribute Description Data Type Null *DevicePhoneNo The Device Phone Number varchar(20) No *AppName The Name of Installed Application varchar(100) No Version The Version of Installed Application varchar(25) No Table 14: DEVICE_APPLICATION DEVICE_APPLCATION Constraints: CONSTRAINT Device_ApplicationPK PRIMARY KEY (DevicePhoneNo,AppName), CONSTRAINT Device_ApplicationFK1 FOREIGN KEY(DevicePhoneNo) REFERENCES DEVICE(DevicePhoneNo) ON UPDATE CASCADE ON DELETE CASCADE, CONSTRAINT Device_ApplicationFK2 FOREIGN KEY(AppName) REFERENCES APPLICATION(AppName) ON UPDATE CASCADE ON DELETE CASCADE DEVICE_BRAND Attribute Description Data Type Null *DbID An auto generated running number given to each record int No BrandName The Brand Name varchar(100) Yes ModelNo The Model Number varchar(100) Yes Table 15: DEVICE_BRAND 42
  • 50. DEVICE_BRA ND Constraints: CONSTRAINT Device_BrandPK PRIMARY KEY (DbID) DEVICE_CALL_LOG Attribute Description Data Type Null *CallLogID An auto generated running number given to each record int No DevicePhoneNo The Phone number of the Device varchar(20) No Month The Month of the call char(3) No Date The Date of the call date No DialedNum The Phone Number of the Receiver (Outgoing calls) varchar(20) Yes ReceivedNum The Phone Number of the Dialler (Incoming calls) varchar(20) Yes Duration The Duration of the call in minutes varchar(10) No Table 16: DEVICE_CALL_LOG DEVICE_CALL_LOG Constraints: CONSTRAINT Device_Call_LogPK PRIMARY KEY (CallLogID), CONSTRAINT Device_Call_LogFK1 FOREIGN KEY(DevicePhoneNo) REFERENCES DEVICE(DevicePhoneNo) ON UPDATE CASCADE ON DELETE NO ACTION, DEVICE_CONTACTS Attribute Description Data Type Null *DevicePhoneNo The Device Phone Number varchar(20) No *ContactNum The Contact Number Stored in the device varchar(20) No Table 17: DEVICE_CONTACTS DEVICE_CONTACTS Constraints: CONSTRAINT Device_ContactsPK PRIMARY KEY (DevicePhoneNo,ContactNum), CONSTRAINT Device_ContactsFK1 FOREIGN KEY(DevicePhoneNo) REFERENCES DEVICE(DevicePhoneNo) ON UPDATE CASCADE ON DELETE NO ACTION, 43
  • 51. DEVICE_LOCATION Attribute Description Data Type Null *LocationID An auto generated running number given to each record int No Country The Country in which the phone is located varcha(100) No City The City in which the phone is located varchar(20) No Table 18: DEVICE_LOCATION DEVICE_LOCATION Constraints: CONSTRAINT Device_LocationPK PRIMARY KEY (LocationID) DEVICE_MONTHLY_USAGE Attribute Description Data Type Null *DevicePhoneNo The Device Phone Number varchar(20) No *Month The Month of the Data char(3) No *Year The Year of the Data char(4) No VoiceMinUsage The amount of voice usage in minutes numeric(8,0) Yes DataMBUsage The amount of data usage in megabytes numeric(8,0) Yes SMSUsage The number of SMS sent numeric(8,0) Yes Date The Date of the Latest Update date Yes Table 19: DEVICE_MONTHLY_USAGE DEVICE_MONTHLY_USAGE Constraints: CONSTRAINT Device_Monthly_UsagePK PRIMARY KEY (DevicePhoneNo,[Month],[Year]), CONSTRAINT Device_Monthly_UsageFK1 FOREIGN KEY(DevicePhoneNo) REFERENCES DEVICE(DevicePhoneNo) ON UPDATE CASCADE ON DELETE NO ACTION, 44
  • 52. DEVICE_OS Attribute Description Data Type Null *OSName The Name of the operating system varcha(100) No OSDescription The Description of the operating system varcha(1000) Yes OSVersion The Version of the operating system varchar(10) Yes Table 20: DEVICE_OS DEVICE_OS Constraints: CONSTRAINT Device_OSPK PRIMARY KEY (OSName) DEVICE_TYPE Attribute Description Data Type Null *TypeName The Name of the device type varcha(100) No TypeDescription The Description of the device type varchar(1000) Yes Table 21: DEVICE_TYPE DEVICE_TYPE Constraints: CONSTRAINT Device_TypePK PRIMARY KEY (TypeName) POLICY Attribute Description Data Type Null *PolicyName The Name of the Policy varchar(100) No PolicyID An auto generated running number given to each record int No VoiceMinLimit The Maximum Voice Usage Limit in Minutes numeric(8,0) Yes DataMBLimit The Maximum Data Usage Limit in Megabytes numeric(8,0) Yes SMSLimit The Maximum Number of SMS numeric(8,0) Yes MinMemPerc The remaining internal phone memory in % numeric(5,2) Yes Table 22: POLICY 45
  • 53. POLICY Constraints: CONSTRAINT PolicyPK PRIMARY KEY (PolicyName), CONSTRAINT PolicyAK1 UNIQUE (PolicyID), STAFF Attribute Description Data Type Null *StaffEmail The Email address of the staff varchar(100) No StaffID An auto generated running number given to each Staff record int No StaffName The name of the staff varchar(25) No StaffPosition The position of the staff varchar(25) No StaffFunction The function of the staff varchar(25) No DirectSuperior The Email address of direct superior varchar(100) Yes UserID The Globally Unique Identifier (GUID) of the staff char(5) Yes PolicyID The PolicyID of the assigned policy varchar(25) Yes DepartmentName Name of the department the staff belong to varchar(100) Yes Table 23: STAFF STAFF Constraints: CONSTRAINT StaffPK PRIMARY KEY (StaffEmail), CONSTRAINT StaffAK1 UNIQUE (StaffID), CONSTRAINT StaffPositionValues CHECK (StaffPosition IN ('NonMgt', 'Head', 'TopMgt', 'Administrator')), CONSTRAINT StaffFK1 FOREIGN KEY(PolicyName) REFERENCES POLICY(PolicyName) ON UPDATE CASCADE ON DELETE NO ACTION, CONSTRAINT StaffFK2 FOREIGN KEY(UserID) REFERENCES aspnet_Membership(UserID) ON UPDATE CASCADE ON DELETE NO ACTION, CONSTRAINT StaffFK3 FOREIGN KEY(DepartmentName) REFERENCES STAFF_DEPARTMENT(DepartmentName) ON UPDATE CASCADE ON DELETE NO ACTION 46
  • 54. STAFF_DEPARTMENT Attribute Description Data Type Null *DepartmentName The Name of the Department varchar(25) No DepartmentID An auto generated running number given to each record int No DepartmentPhone The Department Phone Number varchar(20) Yes Table 24: STAFF_DEPARTMENT STAFF_DEPARTMENT Constraints: CONSTRAINT Staff_DepartmentPK PRIMARY KEY (DepartmentName), CONSTRAINT Staff_DepartmentAK1 UNIQUE (DepartmentID) WIPE_LOCK_REQUEST Attribute Description Data Type Null The Email Address of the Staff assigned with the device to be *StaffEmail varchar(100) No Wipe or Lock *DevicePhoneNo The Phone Number of the Device to be Wipe or Lock varchar(20) No *RequestType The Type of Request (Wipe or Lock) char(4) No RequestStatus The Status of the Request (Pending or Executed) varchar(10) No Table 25: WIPE_LOCK_REQUEST WIPE_LOCK_REQUEST Constraints: CONSTRAINT Wipe_Lock_RequestPK PRIMARY KEY (StaffEmail,DevicePhoneNo), CONSTRAINT Wipe_Lock_RequestFK1 FOREIGN KEY(DevicePhoneNo) REFERENCES Device(DevicePhoneNo) ON UPDATE CASCADE ON DELETE CASCADE, CONSTRAINT Wipe_Lock_RequestFK2 FOREIGN KEY(StaffEmail) REFERENCES Staff(StaffEmail) ON UPDATE CASCADE ON DELETE NO ACTION, CONSTRAINT RequestTypeValues CHECK (RequestType IN ('Wipe', 'Lock')), CONSTRAINT RequestStatusValues CHECK (RequestStatus IN ('Executed', 'Pending')) 47
  • 55. Chapter Five Simulator 5.1 Core Functionalities The role of this simulator is to provide client side processing and feedback information to viewers to demonstrate how MDM software works. The simulator is accessible only by the administrator and provides visual information updates on all the devices in the field. It also comes with a control panel to aid the administrator in generating devices in a quick manner to assist in carrying out demos. Functionalities Simulator Controller Name Function Device List List Mobile Devices in the field Control Panel Generate Mobile Devices to assist simulation Table 26: Functionalities in Simulator Controller Enhancement Initially the Simulator is not able to show Feedback on the respective mobile devices in the Device List when instructions are transmitted from the console to the simulator for processing. Subsequently, enhancement has been made to the simulator to reflect the feedback after processing is completed on the mobile device. Figure 18 shows the enhancement. 48
  • 56. Figure 18: Simulator Feedback 49
  • 57. Chapter Six Testing In this project both black box and white box testing are done. There are many testing methods for black box testing such as stress testing, volume testing, load testing, functional testing, recovery testing and user acceptance testing. For black box testing, I have chosen to do functional testing and user acceptance test. For White box testing there is also a number of methods such as security testing, unit testing, static and dynamic analysis. For White box testing, I have chosen to do unit testing. Functional Testing All Functionalities listed in Chapter Three Web Application and Chapter Five Simulator is tested: User Controller No. Test Case Expected Result Result (Y/N) 1 View issued Mobile Device information Device Info displayed Y 2 View login user information User Info displayed Y Table 27: Functional Test for User Controller Administrator Controller No. Test Case Expected Result Result (Y/N) DEVICE_OS record 1 Add new device operating system Y created DEVICE_TYPE record 2 Add new device type Y created DEVICE_BRAND 3 Add new device brand Y record created StaffID in DEVICE 4 Assign / Reassign device to staff Y record updated 5 Add new device DEVICE record created Y DEVICE record 6 Edit existing device information Y updated 50
  • 58. 7 Delete an existing device DEVICE record deleted Y WIPE_LOCK_ REQUEST record 8 Wipe an existing device Y updated. DEVICE status updated WIPE_LOCK_ REQUEST record 9 Lock an existing device Y created. DEVICE status updated. APPLICATION record 10 Add new application Y created APPLICATION record 11 Edit existing application Y updated APPLICATION record 12 Delete an existing application Y deleted DEVICE_ 13 Install/Update a new application APPLICATION record Y created / updated DEVICE_ 14 Un-Install an existing application APPLICATION record Y Deleted 15 Add a new policy POLICY record created Y POLICY record Y 16 Edits an existing policy updated POLICY record Y 17 Delete an existing policy Deleted Table 28: Functional Test for Administrator Controller Management Controller No. Test Case Expected Result Result (Y/N) 1 View Device user information Device Info displayed Y Voice Usage 2 Generate Top Users By Voice Usage Information displayed Y on screen Data Usage Information 3 Generate Top Users By Data Usage Y displayed on screen SMS Usage 4 Generate Top Users By SMS Usage Information displayed Y on screen 51
  • 59. Device Information 5 List Device by Country by Department Y displayed on screen Device Information 6 List Device by Function by Brand Y displayed on screen Table 29: Functional Test for Management Controller HR Controller No. Test Case Expected Result Result (Y/N) 1 Add new staff to database STAFF record created Y 2 Edit an existing staff STAFF record updated Y 3 Delete an existing staff STAFF record deleted Y STAFF_ 4 Add new department to database DEPARTMENT Y record created Table 30: Functional Test for HR Controller Simulator Controller No. Test Case Expected Result Result (Y/N) Information displayed 1 List Mobile Devices in the Field Y on screen Device record(s) 2 Generate New Mobile Device(s) Y created Table 31: Functional Test for Simulator Controller User Acceptance Test (UAT) This project has not reached the stage to be handed over. As such UAT is not done. However, the forms are available in Appendix A. Unit Test The details of the results are available in Appendix B. 52