Java程序辅导

C C++ Java Python Processing编程在线培训 程序编写 软件开发 视频讲解

客服在线QQ:2653320439 微信:ittutor Email:itutor@qq.com
wx: cjtutor
QQ: 2653320439
Lab 1 Outline
CS410 - Fall 2021
Team Blue: Bradley Buckson, Holly Jenkins, Mohamed Diane, Sean Burns, Matt Haslem,
Kwame Agyekum, Melo Kamara
Table of Contents
1. Introduction
2. Product Description
2.1. Key Features and Capabilities
2.2. Major Components
3. Identification of Case Study
4. Product Prototype Description
4.1. Prototype Architecture
4.2. Prototype Features and Capability
4.3. Prototype Development Challenges
5. Glossary
6. References
1. Introduction
● Societal Problem
o Organizing events around the schedules of multiple people can be difficult and
often involves back-and-forth communication as overhead. Existing calendar apps
are not well-suited to quickly and easily schedule social events to take place in
leisure time.
● Problem Characteristics
o Time wasted on communication overhead
o Existing apps target business and education
o What about social events in leisure time?
o Examples: friend groups, gamers
● Solution Statement
o We can streamline this process and make scheduling events outside of work and
school more accessible to everyone.
● Solution Characteristics
o Privacy controls at the event level
o Users specify available time blocks and preferred activities
o Users can view the availability of friends
o The system automatically suggests times when all people in a group are free
o Single calendar and friend list for each user
2. Product Description
● Mobile calendar and scheduling app
● Limited browser functionality
● Aids the user in planning and organizing events with other users
2.1. Key Features and Capabilities
● Calendar and friend list for each user
● Privacy controls at event level
● Users specify available time blocks and preferred activities
● Users can view availability of friends
● System automatically suggests times when all people in a group are free
2.2. Major Components
● Hardware
○ Android phone or tablet
○ Laptop or desktop computer with modern web browser
● Software
○ Frontend: Android, HTML, CSS
○ Backend: PHP, Apache, Ubuntu
○ Database: MySQL
○ Development: Android Studio, GitLab
○ Version Control: Git
○ API: Google calendar API, Microsoft Outlook API, Database
○ Documentation: Javadoc
○ Project management and issue tracker: GitLab
● AWS Cloud Services
○
○ EC2 instances for Production, Staging, and Development
○ S3 Storage with buckets for ‘Main Database’ Backups and Application
resources.
○ RDS server hosting the ‘Main’ Database and ‘Development’ Database
○ SES (Simple Email Service)
3. Identification of Case Study
3.1 Who is the product for
● People who are not satisfied with their scheduling app
● Friend groups who have a hard time scheduling meetings
● Gamers looking for better ways to schedule events
3.2 What will the product be used for
● Help reduce the amount of time required to plan a social event
● Help reduce the likelihood of friends asking you to hang out at an inconvenient
time
● Help compare schedules with friends
● Help see which of your friends are interested in the same activities as you
3.3 Who else might benefit from this product
● Gamers
● Students
● Event managers
● Business workers
4. Product Prototype Description
4.1 Prototype Architecture
● Hardware
○ Android phone or tablet
○ Laptop or desktop computer with modern web browser
● Software
○ Frontend: Java, Android, HTML, CSS
○ Backend: PHP, Apache, Ubuntu
○ Database: MySQL
○ Testing: JUnit, PHPUnit
○ Development: Android Studio, GitLab
○ Version Control: Git
○ API: Google Calendar API, Microsoft Outlook API, Database
○ Documentation: Javadoc
○ Project management and issue tracker: GitLab
○ Group Collaboration: Discord, Zoom
4.2 Prototype Features and Capability
● Friends list for each user
● User-specific available time blocks and preferred activities
● The system automatically suggests times when all people in a group are free
● Privacy controls at the event level
● Database for storing user information
4.3 Prototype Development Challenges
● Learning new languages and APIs required for implementation
● Learning and implementing database schema for the most effective application
functionality.
5. Glossary
●Amazon EC2 (Elastic Compute Cloud) – a cloud-computing platform commercially
operated by Amazon Web Services (AWS) on which users can run computer
applications on virtual computers.
●Android – an operating system for mobile devices which operates on a modified Linux
kernel and open source software and is commercially supported by Google.
●Android Studio – the integrated development environment designed specifically for
Android development. It is available on Windows, macOS, and Linux operating
systems.
●Apache – web server software that is free and open source.
●AWS (Amazon Web Services) – cloud computing services that provide basic
infrastructure and distributed computing tools on a pay-as-you-go basis.
●Digital Calendar – virtual representation of a calendar used to track appointments and
manage time (e.g. Microsoft Outlook Calendar, Google Calendar)
●GitLab – a DevOps platform for software development that combines development,
security, and software operation in one application.
●GUI (Graphical User Interface) – allows software users to interact with and receive
immediate feedback from electronic devices by the use of visual and audio elements.
●Java – an object-oriented programming language used by Google as the basis for
Android applications.
●JUnit – JUnit is a Java unit testing framework that's one of the best test methods for
regression testing. An open-source framework is used to write and run repeatable
automated tests.
●MFCD (Major Functional Component Diagram) – shows what hardware and
software are required by the system and how users are able to interact with the system.
●MySQL – open-source management system for relational databases which organizes
data in one or more tables that are related to each other; commercially developed by
Oracle. SQL is an abbreviation for Structured Query Language, which is a language
designed to manage and use relational databases.
●PHP (PHP: Hypertext Preprocessor) – a scripting language used for web development.
●PHPUnit – a unit testing framework for the PHP programming language.
●Ubuntu – Linux-based operating system for servers, desktops, cloud computing, and
IoT devices.
●UTC (Coordinated Universal Time) – the world standard time due to its alignment of
mean solar time within one second at zero degrees longitude.
6. References
“70% of adults rely on digital calendar”. ECAL, 16 May 2018,
https://ecal.com/70-percent-of-adults-rely-on-digital-calendar/. 
Pierce, David. “Everybody hates digital calendars, so everybody’s trying to build a better one”.
Protocol, 25 Aug 2020, https://www.protocol.com/future-of-digital-calendars.