test

720 views

Published on

Published in: Business, Technology
  • Be the first to comment

  • Be the first to like this

test

  1. 1. SIM UNIVERSITYSCHOOL OF SCIENCE AND TECHNOLOGYMOBILE 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 Universityin partial fulfillment of the requirements for the degree ofBachelor of Business and Information Technology (Hons) November 2011
  2. 2. Abstract Managing mobile devices is essential in organizations issuing large number of mobiledevices to staff. The main purpose of this project is to develop a web application andsimulator to showcase how Mobile Device Management (MDM) software can help theseorganizations in terms of cutting down costs through tracking real-time usage (Voice / Data /SMS), efficient handling and maintenance of asset (Application / Mobile Device) staff andpolicy information, easy application installation and un-installation. The other purpose is toshowcase how MDM can reduce business risk by “protecting” confidential organization datawhen mobile device are lost, through Wipe and Lock instructions sent from the webapplication and over the air (OTA) through mobile network. As such, this project is anattempt to provide awareness on all these benefits. This is done through designing andimplementing a simulator with good visual feedback and an efficient web application.Besides providing awareness to these organizations, this project also serves as a conceptualfoundation underlying the many important features present in MDM software available in themarket today, and may be of interest to researchers and developers new to this area.
  3. 3. AcknowledgementFirst, I wish to express my sincere gratitude to my project supervisor for providing me withthe opportunity to do my project work on Mobile Device Management (MDM). This projectinvolves developing a showcase package to conceptually present how MDM can helporganizations. Initially, there are some areas I was not familiar with and I sincerely thank himfor all the advice given.I would like to thank my boss, Mr. Kwan (M.D) for his support and letting me take urgentleave as required and also Mr. Ron Loi (CFO) from Ernst and Young for sharing my ERPworkload during this tough period of time.Last but not least, I would like to thank my family and friends for their on-going support andencouragement.
  4. 4. List of FiguresFigure 1: Device Types….......................................................................................... 3Figure 2: Setup Overview…...................................................................................... 4Figure 3: Project Plan……………………………………………………………… 6Figure 4: Process Flow for adding Information…………………………………… 21Figure 5: What comes before Assigning Device to a staff……………………....... 24Figure 6: Process Flow for editing Information………………………………….... 24Figure 7: Process Flow for Deleting Information…………………………………. 25Figure 8: Process Flow for executing Wipe or Lock requests…………………….. 27Figure 9: Process Flow for Application Installation………………………………. 28Figure 10: Process Flow for Application Un-Installation…………………………. 28Figure 11: Login Screen…………………………………………………………… 29Figure 12: Non-Management Home Screen............................................................. 30Figure 13: Administrator Home Screen……………………………………………. 31Figure 14: Management Home Screen…………………………………………….. 32Figure 15: Human Resource Home Screen………………………………………… 33Figure 16: Initial Web Application User Interface………………………………… 35Figure 17: MDM ER-Model……………………………………………………….. 37Figure 18: Simulator Feedback…………………………………………………….. 49
  5. 5. List of TablesTable 1: Risk Check List …..................................................................................... 7Table 2: Functionalities in User Controller …......................................................... 17Table 3: Functionalities in Administrator Controller ……………………………… 18Table 4: Functionalities in Management Controller ………………………………. 19Table 5: Functionalities in HR Controller ……………….……………………....... 19Table 6: Application Functionality Groups Access Settings……………………... 21Table 7: APPLICATION ……………………….…………………………………. 37Table 8: APPLICATION_FUNCTION …………………….…………………….. 38Table 9: AUDIT_TRAIL_LOGIN ………………..………………………………. 39Table 10: AUDIT_TRAIL_LOGOUT ……………………………………………. 39Table 11: AUDIT_TRAIL_OPERATION ………………………………………... 40Table 12: CONTACTS_FUNCTION….................................................................. 40Table 13: DEVICE................................................................................................... 41Table 14: DEVICE_APPLICATION...................................................................... 42Table 15: DEVICE_BRAND…………………………………...…………………. 42Table 16: DEVICE_CALL_LOG…………………………...…………………….. 43Table 17: DEVICE_CONTACTS......................................................................…. 43Table 18: DEVICE_LOCATION..........................................................….............. 44Table 19: DEVICE_MONTHLY_USAGE…......................................................... 44Table 20: DEVICE_OS........................................................................................... 45Table 21: DEVICE_TYPE…...……………………………………………………. 45Table 22: POLICY…...……………………………………………………………. 45Table 23: STAFF…...………………………………………………………….….. 46Table 24: STAFF_DEPARTMENT…................................................................... 47Table 25: WIPE_LOCK_REQUEST…...………………………………………… 47Table 26: Functionalities in Simulator Controller……………………………...... 48Table 27: Functional Test for User Controller…………………………………… 50Table 28: Functional Test for Administrator Controller………………………… 51Table 29: Functional Test for Management Controller…………………………... 52Table 30: Functional Test for HR Controller………………………………. 52Table 31: Functional Test for Simulator Controller………………………………. 52
  6. 6. Table Of Contents PageAbstract iAcknowledgement iiLists Of Figures iiiList Of Tables ivChapter 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 11Chapter 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 13Chapter Three Web Application 17 3.1 Core Functionalities 17 3.2 User Interface 29 3.3 Enhancement 34Chapter Four Database 36 4.1 Entity Relational Model 36 4.2 Transforming ER-Model to Database Design 38Chapter Five Simulator 48 5.1 Core Functionalities 48 5.2 Enhancement 48Chapter Six Testing 50Chapter Seven Conclusion 53 7.1Future Work 53 7.2Reflections 53References 55
  7. 7. APPENDIX A (UAT Forms) 56APPENDIX B (Unit Testing) 71APPENDIX C (Use Case) 75APPENDIX D (MVC Models) 76APPENDIX E (SQL DDL scripts) 91APPENDIX F (Application Codes) 97
  8. 8. Chapter One Introduction Managing a large number of mobile devices issued to staff is a challenge for manyorganizations. Mobile Device Management (MDM) software secure, monitors, manages andsupports mobile devices deployed across mobile operators [1]. MDM functionality typicallyincludes tracking usage (Voice, Data and SMS) and wiping & locking for all types of mobiledevices such as phones and tablets. The intent of MDM is to significantly reduce support andmaintenance cost for managing a large number of mobile devices, monitoring and reducingusage (Voice / Data / SMS) cost through the enforcement of polices, and also reducingbusiness risk by “protecting” confidential data through wiping and locking. All these areachieved through utilizing over the air capabilities (OTA).1.1 Background & Motivation When an employee is out stationed overseas, their issued mobile device’s usage costwould shoot up easily. MDM software can track usage and alert user when nearing policylimit to cut down overseas roaming usage costs. Without MDM, the usage costs are onlyknown 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 mobiledevices to staff in terms of cutting down costs. Many issued mobile devices contain organizations’ confidential data and it is veryimportant 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 softwareis very important for organizations who issue a large number of mobile devices to staff interms of reducing business risk and this is in Forrester’s Top 20 mobile device managementsecurity best practices [6]. When there are updates to In-House applications, it is time-consuming to collectphones physically from employees and do an update manually one by one. Not only is it badfor productivity, it may also badly affect customers and disrupt internal communication 1
  9. 9. within the organization. In-real life situations, phones may even get lost in the process if notproperly handled. Today, more and more employees around the world now work at-home to have amore balanced family life and at the same time contribute to the cost saved by organizationon office rental and setup costs. Since the past decade, there is an increase in the use ofmobile devices within an organization and this increase creates a stronger need fororganizations to have a software application that could help them better manage thesedevices. These benefits became the motivation of the project that can help organizations tounderstand 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 applicationthat shows through simulation how organizations can control and manage a large number ofmobile devices that are in use by staff in different locations and departments. Thisapplication 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 VisualStudio Professional 2010 & SQL 2008.1.3 Scope Due to the complexity and time needed for creating enterprise MDM software that isfully workable in the real world, a single developer coding a small module could take up to ayear to finish it. As such, instead of creating that, this project covers the conceptualfoundation of MDM, and focuses on highlighting and simulating the main benefits of MDMby 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 offive types of devices to enhance the visual presentation of the simulator – Iphone 4,BlackBerry, Windows Smart Phone and Android. 2
  10. 10. Figure 1: Device types1.4 Overview of the project In real-life, each issued mobile device will be installed with the client software andthe role of this client software is to update the database via push/pull request and carry outinstructions – wipe out data, send message - sent from the web application administrator. Inthis project a simulator will be developed in order to simulate hundreds of mobile devicesinstalled with client software so as to replicate a realistic real-life environment anddemonstrate how the program works. The application will be setup and hosted on the World Wide Web in order to providemore flexibility and convenience for the users. The login password would be encrypted andthere 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 databaseis 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 linkedproperly together and all tasks have been completed, we will have the cutting-edge mobiledevice management showcase package and achieve the objective of the project. 3
  11. 11. Figure 2: Setup Overview1.5 Project Management Techniques UsedTime Management The Software development Life Cycle will be used to ensure the success of thisproject. A waterfall approach will be taken because it has most of the advantages of thetraditional development system development lifecycle and in addition, it has testing andverification at the end of each of the stages. Thus not all the review will be done during thetesting stage and this allows any problems to be uncovered in the earlier stages. As this issomewhat a document-driven approach, the waterfall approach would enforce disciple indocumenting results of each stage of the project. I choose this approach for my projectbecause many successful projects are completed with the waterfall approach. 4
  12. 12. An Initial investigation will be carried out to understand the nature and generalprospect of the project. During this stage, the project definition will be drafted, investigationof project background would be carried out and the project plan crafted with projectedtimeline. Lastly, the initial investigation stage ends with the approval/submission of theproject 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 bereviewed 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 anda charter will be created. After that installation of the development tools will be carried outand technical skills will be refreshed through re-learning. This stage ends with a review toensure everything is going according to plan. After planning, analysis will be carried out mainly to deliver the GUI with navigationstructure, and ensure that the simulated vendor’s understanding is concretely aligned with thesimulated client’s expectation. This stage ends with a review to check and ensure that theexact GUI expectation is met. After analysis, design will be carried out mainly to setup the database and all theproper related tasks. This stage ends with a review to check and ensure that the database isproperly setup. After design, development and testing will be carried out. An object-orientatedapproach will be implemented in coding and this stage ends with a review to check andensure 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 thedeliverables and introduce the software into the market. This stage ends with a review andaudit, marking the end of this project.The Project Plan is shown on the next Page. Figure 3: Project Plan 5
  13. 13. 6
  14. 14. Risk ManagementA 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 NotesRisk 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 organizationRisk 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 directionsRisk 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 organizationRisk 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. 15. Not applicable Need info Factor ID Medium Risk Low Risk Medium Risk High Risk High TBD Low Factors Cues Cues Cues NotesRisk 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 input10 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 met11 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 system12 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 developmentRisk Category: Product Content13 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 customer15 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 made16 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 change17 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 implementRisk Category: Deployment18 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. 16. Not applicable Need info Factor ID Medium Risk Low Risk Medium Risk High Risk High TBD Low Factors Cues Cues Cues NotesRisk Category: Development Process19 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 team20 Early peer reviews are peer reviews are team expects to √ Identification of incorporated used sporadically find all defects Defects throughout with testingRisk Category: Development Environment21 Tools Availability in place, available, unvalidated, √ documented, validated, some proprietary or validated development major needed (or development minimal needed; no documentation) documentation22 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 followedRisk 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 monitoringRisk Category: Developer24 Application extensive some experience little or no √ Experience experience in with similar experience with projects like this projects similar projects25 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 experts26 Experience with high experience average low experience √ Project Tools experience27 Experience with high experience average low experience √ Project Process experienceRisk Category: Technology28 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 customer29 Technology good level of some experience no experience √ Experience experience with with the with the technology technology technology 9
  17. 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 ChecklistChecklist is customized & generated fromhttp://www2.dir.state.tx.us/sitecollectiondocuments/it leadership/framework/projectplanning/supplemental tools/risk factors_genericproject.docResource ManagementProject 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. 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 literaturereview and touches on how the project is approached. Chapter 3, 4 and 5 covers the design & implementation of each main componentneeded 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. 19. Chapter Two Literature Review2.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 outcommands sent from the centralized management console. In this project, the Mobile DeviceClient execution of instructions from the centralized management console is feedback by thesimulator. The features that are aligned with the objectives of the project in terms of reducingcost and business risk is noted and implemented (on the client side) through the simulatorfeedback. 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 theMDM 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 forusers. It gets data such as usage from the mobile device upon request from the console. Thismakes mobile device usage monitoring easy for management. This Console also supports remote Wipe and Lock. It accepts Wipe and Lock requestsfrom the management. The administrator will have access to these requests and they are theones who do the execution of the delete and wipe requests. This provides more security andmakes it harder for employees to misuse the system. The full list and details of featuresimplemented is available in Chapter 3. 12
  20. 20. 2.3 FeaturesThe 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 fromhttp://www.tangoe.com/Software/features-a-benefits.html 13
  21. 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. 22.  Overages 8. Event Center  Activity thresholds  Security indicators  Alert triggersMobileIron MDM Features taken fromhttps://info.mobileiron.com/prd_datasheet_2_BING.htmlThe 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. 23. Excitor MDM Features taken fromhttp://www.excitor.com/DME_Moblie_Device_Manager-586.aspxThe 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 costand business risk are mostly implemented. The full list of the functionalities implemented isavailable in the next Chapter, Web Application. 16
  24. 24. Chapter Three Web Application3.1 Core Functionalities The role of this web application is to provide mobile device management services andinformation 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 forManagement includes sending wipe or lock requests to administrator, retrieving Device UserInformation, and generating reports on monthly usage and devices. Functionalities for HumanResource includes maintain information on staff and department.FunctionalitiesThe 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 ControllerName 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. 25. 2. Administrator ControllerName FunctionAdd OS Adds information on new mobile device operating system to databaseAdd Device Type Adds information on new mobile device type to databaseAdd Brand Adds information on new mobile device brand to database Assigns an unissued mobile device to a staff orDevice Assign Switch mobile device ownerAdd Device Adds information on new mobile device to database Edits information of an existing mobile device and saves the changes toEdit Device databaseDel Device Deletes all information of an existing mobile device from databaseWipe Device Wipes all sensitive data on an existing mobile deviceLock Device Locks an existing mobile device to prevent further usageAdd Application Adds information on new mobile device application to database Edits information of an existing mobile device application and savesEdit Application the changes to databaseDelete Application Deletes all information of an existing application from databaseInstall Application Installs or update application on an existing mobile deviceUninstall Uninstall an application from an existing mobile deviceApplication (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 toEdit Policy databaseDelete Policy Delete all information of an existing policy from the database Table 3: Functionalities in Administrator Controller 18
  26. 26. 3. Management ControllerName FunctionDevice 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 brandRequest Wipe Request Administrator to wipe an existing deviceRequest Lock Request Administrator to lock an existing device Table 4: Functionalities in Management Controller 4. HR ControllerName FunctionAdd Staff Adds information on new staff to database Edits information of an existing staff and saves all changes to theEdit Staff databaseDelete Staff Deletes all information of an existing staff from the databaseAdd Department Adds information on new department to database Table 5: Functionalities in HR Controller 19
  27. 27. There a total of four types of users, each assigned with access to different groups offunctionalities. Application Functionality Groups Access SettingsType Functionality Groups PermittedNon-Mgt Staff User ControllerMgt Staff User Controller / Management ControllerHR Staff User Controller / HR ControllerAdministrator User Controller / Administrator Controller Table 6: Application Functionality Groups Access SettingsWorkflow & Transformation of Inputs to Outputs The workflow is very important for MDM users to understand the operationprocedures and use the software correctly. Besides aiding the users, the workflow also aidsthe developers in creating test cases. As such, the workflow for each of the applicationfunctionalities 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 ServiceView 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. 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 DevicesAdd Operating System: 1. Administrator gets new Operating System details from Manufacturer 2. Keys in details and Submit. 21
  29. 29. Error Occurs if: (a) Input Operating System Name already exist in database (b) Any required fields – Name, Description, Version - are emptyAdd 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. 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 emptyAdd 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 firstAdd 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 emptyAssign 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. 31. Mgt issues Re-Assign Request Add Assign Start Device Device Figure 5: What comes before Assigning Device to a staff Edit DetailsEdit Device Yes Edit NoApplication Save Contains Complete Changes Errors?Edit Policy Edit Staff Figure 6: Process Flow for editing informationEdit 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. 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 RecordDel Device No DelApplication Yes Check Details Delete Details match?Del Policy Del Staff Figure 7: Process Flow for Deleting Information 25
  33. 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. 34. Select another Request NoWipe Device Yes Check Details Execute Details match? RequestLock 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. 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 InstallationUninstall 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. 36. 3.2 User Interface The vibrant blue color symbolizes the organization’s approachable character and itsemphasis on building relationships with customers, employees and the community. Theorange color represents the friendly nature of the organization. Figure 11: Login Screen 29
  37. 37. Figure 12: Non-Management Home Screen 30
  38. 38. Figure 13: Administrator Home Screen 31
  39. 39. Figure 14: Management Home Screen 32
  40. 40. Figure 15: Human Resource Home Screen 33
  41. 41. 3.3 EnhancementEnhancements have been made to the required input of data: Initially, the web application accepts IMEI number for the input to retrieve the devicefor editing, deleting, installing or uninstalling applications and wiping or locking. IMEInumber may not be ideal because it may not be readily accessible to the administrator and itis not practical to remember 15 numbers. Phone number is definitely more readily assessableand easier to remember. As such, enhancements have been made to the application to acceptdevice phone number instead of IMEI number. Similarly, the web application initially accepts StaffID for the input to retrieve thestaff 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. Assuch, enhancements have been made to the application to accept StaffEmail instead ofStaffID.Enhancements have been made to ASP.NET Server controls: Initially, the web application uses textbox to accept the application name as input toretrieve the application for editing and deleting. Application name may not be ideal because itmay not be easy to recall the name. A drop down list showing all applications available in thedatabase would probably be more user-friendly. As such, Enhancements have been made tothe application to replace the textbox to a drop down list containing the full list ofapplications instead.Enhancements have been made to the application user interface: Initially, the web application user interface consists of two colors. Enhancements havebeen 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 beenmade to reduce the amount of input required. For example, initially a login user issued withmultiple mobile devices would need to select from a drop down list as shown in figure 16. 34
  42. 42. Figure 16: Initial Web Application User InterfaceAll the Application codes are available in Appendix F. 35
  43. 43. Chapter Four Database4.1 Entity Relational Model In this project the Entity Relational (ER) Model is created first before doing thedatabase design. This ER-model serves as the blueprint of the database and any changes aremade to the data model at this stage to save up on the huge amount of work needed if manychanges are made during database design. 36
  44. 44. Figure 17: MDM ER-Model 37
  45. 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) APPLICATIONAttribute Description Data Type Null*AppName The Application Name varchar(100) NoAppID An auto generated running number given to each Application int NoAppVersion The Latest Version of the Application varchar(25) YesAppDescription The Description of the Application varchar(1000) NoAppMemMBUsage 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_FUNCTIONAttribute 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. 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_LOGINAttribute Description Data Type Null*ATLI_ID An auto generated running number given to each record int NoStaffEmail The Staff Email (of Logout user) varchar(100) NoLoginTime 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_LOGOUTAttribute Description Data Type Null*ATLO_ID An auto generated running number given to each record int NoStaffEmail The Staff Email (of Logout user) varchar(100) NoLogoutTime The Date & Time of Logout datetime No Table 10: AUDIT_TRAIL_LOGOUT 39
  47. 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_OPERATIONAttribute Description Data Type Null*ATO_ID An auto generated running number given to each record int NoStaffEmail The Staff Email (of user carrying out operation) varchar(100) NoOperation 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_FUNCTIONAttribute 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. 48. DeviceAttribute Description Data Type Null*DevicePhoneNo The Phone Number of the Device varchar(20) NoDeviceID An auto generated running number given to each record Int NoIMEI The International Mobile Equipment Identity of the Device varchar(15) NoStaffID The Staff ID of the assigned device int NoDevicePurDate The Purchase date of the device DateTime YesDeviceMBMem The device internal memory in Megabytes Numeric(8,0) YesDeviceRoaming The Boolean value describing if Roaming is enabled Char(5) YesDeviceStatus The status of the device (Issued, Wiped, Locked) varchar(25) YesDeviceEmailE The Email Encryption used by Device varchar(100) YesDeviceSMSUsage The SMS Usage for current month Numeric(8,0) YesDeviceDataUsage The Data Usage for current month Numeric(8,0) YesDeviceVoiceUsage The Voice Usage for current month Numeric(8,0) YesRemainMemPerc The Remain amount of internal memory Numeric(5,2) YesOSName The Device Operating System varchar(100) NoTypeName The Device Type Name varchar(100) No[DbID] The Device Brand ID int NoLocationID 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. 49. CONSTRAINT DeviceFK4 FOREIGN KEY([DbID]) REFERENCES DEVICE_BRAND(DbID) ON UPDATE CASCADE ON DELETE NO ACTION, DEVICE_APPLICATIONAttribute Description Data Type Null*DevicePhoneNo The Device Phone Number varchar(20) No*AppName The Name of Installed Application varchar(100) NoVersion 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_BRANDAttribute Description Data Type Null*DbID An auto generated running number given to each record int NoBrandName The Brand Name varchar(100) YesModelNo The Model Number varchar(100) Yes Table 15: DEVICE_BRAND 42
  50. 50. DEVICE_BRA ND Constraints: CONSTRAINT Device_BrandPK PRIMARY KEY (DbID) DEVICE_CALL_LOGAttribute Description Data Type Null*CallLogID An auto generated running number given to each record int NoDevicePhoneNo The Phone number of the Device varchar(20) NoMonth The Month of the call char(3) NoDate The Date of the call date NoDialedNum The Phone Number of the Receiver (Outgoing calls) varchar(20) YesReceivedNum The Phone Number of the Dialler (Incoming calls) varchar(20) YesDuration 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_CONTACTSAttribute 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. 51. DEVICE_LOCATIONAttribute Description Data Type Null*LocationID An auto generated running number given to each record int NoCountry The Country in which the phone is located varcha(100) NoCity 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_USAGEAttribute 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) NoVoiceMinUsage The amount of voice usage in minutes numeric(8,0) YesDataMBUsage The amount of data usage in megabytes numeric(8,0) YesSMSUsage The number of SMS sent numeric(8,0) YesDate 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. 52. DEVICE_OSAttribute Description Data Type Null*OSName The Name of the operating system varcha(100) NoOSDescription The Description of the operating system varcha(1000) YesOSVersion The Version of the operating system varchar(10) Yes Table 20: DEVICE_OS DEVICE_OS Constraints: CONSTRAINT Device_OSPK PRIMARY KEY (OSName) DEVICE_TYPEAttribute Description Data Type Null*TypeName The Name of the device type varcha(100) NoTypeDescription The Description of the device type varchar(1000) Yes Table 21: DEVICE_TYPE DEVICE_TYPE Constraints: CONSTRAINT Device_TypePK PRIMARY KEY (TypeName) POLICYAttribute Description Data Type Null*PolicyName The Name of the Policy varchar(100) NoPolicyID An auto generated running number given to each record int NoVoiceMinLimit The Maximum Voice Usage Limit in Minutes numeric(8,0) YesDataMBLimit The Maximum Data Usage Limit in Megabytes numeric(8,0) YesSMSLimit The Maximum Number of SMS numeric(8,0) YesMinMemPerc The remaining internal phone memory in % numeric(5,2) Yes Table 22: POLICY 45
  53. 53. POLICY Constraints: CONSTRAINT PolicyPK PRIMARY KEY (PolicyName), CONSTRAINT PolicyAK1 UNIQUE (PolicyID), STAFFAttribute Description Data Type Null*StaffEmail The Email address of the staff varchar(100) NoStaffID An auto generated running number given to each Staff record int NoStaffName The name of the staff varchar(25) NoStaffPosition The position of the staff varchar(25) NoStaffFunction The function of the staff varchar(25) NoDirectSuperior The Email address of direct superior varchar(100) YesUserID The Globally Unique Identifier (GUID) of the staff char(5) YesPolicyID The PolicyID of the assigned policy varchar(25) YesDepartmentName 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. 54. STAFF_DEPARTMENTAttribute Description Data Type Null*DepartmentName The Name of the Department varchar(25) NoDepartmentID An auto generated running number given to each record int NoDepartmentPhone 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_REQUESTAttribute 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) NoRequestStatus 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. 55. Chapter Five Simulator5.1 Core Functionalities The role of this simulator is to provide client side processing and feedbackinformation to viewers to demonstrate how MDM software works. The simulator is accessible only by the administrator and provides visual informationupdates on all the devices in the field. It also comes with a control panel to aid theadministrator in generating devices in a quick manner to assist in carrying out demos.Functionalities Simulator ControllerName FunctionDevice List List Mobile Devices in the fieldControl Panel Generate Mobile Devices to assist simulation Table 26: Functionalities in Simulator ControllerEnhancement Initially the Simulator is not able to show Feedback on the respective mobile devicesin the Device List when instructions are transmitted from the console to the simulator forprocessing. Subsequently, enhancement has been made to the simulator to reflect thefeedback after processing is completed on the mobile device. Figure 18 shows theenhancement. 48
  56. 56. Figure 18: Simulator Feedback 49
  57. 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 ControllerNo. Test Case Expected Result Result (Y/N)1 View issued Mobile Device information Device Info displayed Y2 View login user information User Info displayed Y Table 27: Functional Test for User Controller Administrator ControllerNo. Test Case Expected Result Result (Y/N) DEVICE_OS record1 Add new device operating system Y created DEVICE_TYPE record2 Add new device type Y created DEVICE_BRAND3 Add new device brand Y record created StaffID in DEVICE4 Assign / Reassign device to staff Y record updated5 Add new device DEVICE record created Y DEVICE record6 Edit existing device information Y updated 50
  58. 58. 7 Delete an existing device DEVICE record deleted Y WIPE_LOCK_ REQUEST record8 Wipe an existing device Y updated. DEVICE status updated WIPE_LOCK_ REQUEST record9 Lock an existing device Y created. DEVICE status updated. APPLICATION record10 Add new application Y created APPLICATION record11 Edit existing application Y updated APPLICATION record12 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 Deleted15 Add a new policy POLICY record created Y POLICY record Y16 Edits an existing policy updated POLICY record Y17 Delete an existing policy Deleted Table 28: Functional Test for Administrator Controller Management ControllerNo. Test Case Expected Result Result (Y/N)1 View Device user information Device Info displayed Y Voice Usage2 Generate Top Users By Voice Usage Information displayed Y on screen Data Usage Information3 Generate Top Users By Data Usage Y displayed on screen SMS Usage4 Generate Top Users By SMS Usage Information displayed Y on screen 51

×