Project Plan ITPro Company Portal The Capstone Experience Team Bryce Hrusovsky Reid Wildenhause Jingwei Wan Sam Batali Department of Computer Science and Engineering Michigan State University Fall 2019

From Students… …to Professionals Functional Specifications

• Problem: The number of devices being deployed by corporate entities is growing, increasing the workload for IT specialists. ▪ Specialists need the ability to manage corporate devices while they are in the field. ▪ Microsoft Intune solves this problem, but requires a desktop or laptop computer to use. • Solution: Create a mobile application that allows IT specialists to easily monitor, manage and maintain corporate devices with Microsoft Intune directly from a mobile device.

The Capstone Experience Team Microsoft Project Plan Presentation 2 Design Specifications

• Cross Platform: The application is created to run in both iOS, Android, and UWP using platform. 3 different platforms, different UI designs, same codebase for models and controls • Login Page: The first window a user interact with after the launch page. The user must enter correct login credentials (Email/Phone and Passwords) before being redirected to the main page • Main Page: The main window for the application. Contains multiple tabs, sidebar, and summary page, user information, and status • Navigation: The application contains various tabs, links in the sidebar which links users to other pages such as device(s) page, manage page, settings page, terms and services, and Help and support page

The Capstone Experience Team Microsoft Project Plan Presentation 3 Screen Mockup: Main Dashboard (IOS/Android)

The Capstone Experience Team Microsoft Project Plan Presentation 4 Screen Mockup: Main Dashboard (Windows)

The Capstone Experience Team Microsoft Project Plan Presentation 5 Screen Mockup: Navigation (IOS/Android)

The Capstone Experience Team Microsoft Project Plan Presentation 6 Screen Mockup: Help and Support (Android)

The Capstone Experience Team Microsoft Project Plan Presentation 7 Technical Specifications

• Xamarin Forms ▪ The application is developed by using Xamarin cross-platforms and written in C#. Xamarin forms allow developers to build applications for iOS, Android, Windows that share core functionality, business logic code, and implement specific native UIs on each platform. • Microsoft Graph ▪ Microsoft Graph is used to access Microsoft Intune services. It also allows developers to interact with the data of millions of users in the Microsoft cloud.

The Capstone Experience Team Microsoft Project Plan Presentation 8 System Architecture

Cloud Platform HTTP Request

MDM Corporate Portal

User HTTP Response Cloud Services Integration User Platform Development Platform ITPro Dynamic Visual Studio Version 2019 User Deployment Windows & macOS Interface Application Platform Paths Visual Studio Azure Team Services DevOps Target Version 13 Xamarin Monitoring Configuration Framework Version: 16.2.0.95 IW C# Tools Language Spec: IW #1 IW 3.2.1 #4 #2 IW Target API Version: 28 (Pie) Operating System Target Xcode #3 Legacy Version: 19 (KitKat) Version 1903 Build Tools The Capstone Experience Team Microsoft Project Plan Presentation 9 System Components

• Hardware Platforms ▪ Android/iOS/Windows emulators • Software Platforms / Technologies ▪ ▪ Microsoft Graph API ▪ Xamarin Forms

The Capstone Experience Team Microsoft Project Plan Presentation 10 Risks

• Missing Graph API Functionality ▪ Description: The Graph API is missing functionality for some features. ▪ Mitigation: Migrate the existing implementation to the new version of Graph API • Cross-Platform Design ▪ Description: Three different platforms means three different design principles ▪ Mitigation: Develop shared UI components while designing navigation individually for each platform. • Server-Client Performance Issues ▪ Description: Server-client communication can cause major performance issues ▪ Mitigation: Implement client-side caching to reduce the amount of data being sent over the network. • Efficient Group Deployment ▪ Description: The client is not satisfied with the current group deployment algorithm ▪ Mitigation: Analyze the current implementation and look for ways in which it can be simplified.

The Capstone Experience Team Microsoft Project Plan Presentation 11 Questions? ? ? ? ? ? ? ? ? ? The Capstone Experience Team Microsoft Project Plan Presentation 12