Java代写 | SEG2105 – Walk in Clinics Services App
   本次Java代写是完成一个诊所服务的安卓APP
  
     SEG2105 – Introduction to Software Engineering – Fall 2019  
    
     Android Project: Walk in Clinics Services App (15%)  
    
     The application addresses the need for people to know waiting times at nearby walk-in clinics  
    
     without having to leave their home. It also allows users to know the services offered by nearby  
    
     walk-in clinics and allow them to check-in/book appointments at the clinic of their choice.  
    
     Instructions  
    
     1
    
     . Project will be done in teams of maximum 5 students – you must self-enroll in a project  
    
     group before the first deliverable is due.  
    
     2
    
     . Only one team member needs to submit the deliverables via Bright Space, but make  
    
     sure all team members are identified (name and student number) on your cover page or  
    
     README file.  
    
     3
    
     . The team must present only one version of the application. For instance, one student  
    
     having one screen with the search functionality and other one having another different  
    
     screen (running on a different phone) with the clinic’s employee functionality, WILL NOT  
    
     be accepted. The team must produce a single application with all the required  
    
     functionality.  
    
     The purpose of this project is to expand on the theoretical work, allowing students to gain  
    
     practical experience implementing the concepts learned in class. This project is also designed to  
    
     allow students to learn how to work with their colleagues and develop mobile applications.  
    
     Learning outcomes range from increased understanding of concepts relating to software  
    
     engineering, to overall knowledge of programming for android, management and team-relation  
    
     skills.  
    
     The main outcome of the project is the implementation of a walk in clinics services application  
    
     for android devices.  
    
     Students are to implement all components of the project:  
    
     
    
     
    
     
    
     Design specification,  
    
     UML and additional documentation,  
    
     Graphical assets and source code.  
    
     Students are encouraged to use the available toolset in android studio but should refrain from  
    
     copying whole blocks of code from the internet to implement features. Should a group want to  
    
     use a non-standard tool/API they should request permission before doing so.  
    
     _
    
     _____________________________________________________________________________  
    
     The app will be conceived with three different types of users in mind. The administrator, the  
    
     walk-in clinics employees, and the patients.  
    
     
    
     
    
     
    
     The administrator manages all the possible services that can be offered to patients by  
    
     walk-in clinics.  
    
     The walk-in clinic employee creates a profile for the clinic and selects the services offered  
    
     by the walk-in clinic and the working hours.  
    
     The patients can search for a walk-in clinic by address/type of service provided or by  
    
     working hours.  
    
     The features that should be available to each type of user are given below. Note that those are  
    
     the minimum required features, and you are free to add more features you think might enrich  
    
     your application.  
    
     The administrator can:  
    
     1
    
     . Create services (at least 5) to be offered by walk-in clinics using the application.  
    
     . Delete accounts of walk in clinics and users  
    
     2
    
     The walk in clinic employee can:  
    
     1
    
     2
    
     3
    
     . Create an account for the walk in clinic  
    
     . Select services provided and the rate for each service  
    
     . Enter the working hours of the walk in clinic  
    
     The patient can:  
    
     1
    
     2
    
     3
    
     4
    
     . Create an account  
    
     . Search for a walk in clinic by address/type of service provided/working hours  
    
     . Check in/book an appointment  
    
     . Rate his/her experience at the walk in clinic
 
    
     Your application should:  
    
     1
    
     . Show the expected waiting times for walk in clinics based on the number of patients  
    
     waiting to be seen (assume a fixed time of 15 minutes per patient)  
    
     . Show the rating that each walk in clinic has  
    
     2
    
     3. Show the admin account all registered users to allow him/her to delete user accounts  
    
     Note: This course does not focus on interface design; hence, we do not focus on usability  
    
     aspects. However, students are welcome to “beautify” their projects, should they be  
    
     comfortable with user interface design. Consider the Android Design Guidelines when designing  
    
     your application. This topic will be covered in a tutorial session and detailed information is  
    
     available at: https://developer.android.com/design/index.html  
    
     _
    
     _____________________________________________________________________________  
    
     DELIVERABLES  
    
     The project is divided into 4 incremental deliverables. Students are required to submit each  
    
     deliverable by the posted deadline online using Bright Space.  
    
     Deliverable  
    
     Due date  
    
     1
    
     2
    
     3
    
     4
    
     5
    
     – Github repository and user accounts (3%)  
    
     – Admin functionality (3%)  
    
     October 20  
    
     November 10  
    
     November 20  
    
     December 4  
    
     Last week of classes  
    
     – Walk-in employee user functionality (3%)  
    
     – Patient and application functionality (3%)  
    
     – Demo (3%)  
    
     The project is to be carried out throughout the session and students are strongly encouraged to  
    
     maintain a log of their project activities, as task allocation and project flow are a component of  
    
     the final document provided alongside the android application. We suggest students keep track  
    
     of duty assignment, with complexity of allocated tasks and completion dates. You can track and  
    
     assign tasks with GIthub.  
    
     Your application must be written in Java and built using the Android Studio 3.1. You should  
    
     compile your project against the earliest possible SDK version allowed by the API methods you  
    
     are using (API 10, level 29). By the end of the semester, you must implement and submit a  
    
     working application based on the specifications. Firebase or SQLite can be used for storing and  
    
     retrieving the application data.  
    
     ACADEMIC HONESTY  
    
     All work that you do towards the fulfillment of this course’s expectations must be your own  
    
     unless collaboration is explicitly allowed (e.g., by some problem set or the final project).  
    
     Viewing or copying another individual’s work (even if left by a printer or stored in a public  
    
     directory) or lifting material from a book, magazine, website, or other source-even in part-  
    
     and presenting it as your own constitutes academic dishonesty, as does showing or giving  
    
     your work, even in part, to another student.  
    
     DELIVERABLE 1  
    
     You need to create a GitHub repository in which you will commit all your code. All members  
    
     need to be added as contributors. In addition, you will need to add the user SEG2105-uottawa  
    
     as contributor and enter in GitHub all tasks (you will need to break the deliverables into smaller  
    
     tasks) and who is responsible for each task, as show in the image below.  
    
     In this deliverable, you need to implement the user account management component. That is,  
    
     the app needs to allow users to create user accounts.  
    
     To simplify the development, there will be a single admin account (username: admin, pwd:  
    
     5
    
     T5ptQ), but it should be possible to create as many walk-in clinic employee accounts and  
    
     patients as desired.  
    
     Once the user logs in, they should see a second screen with the following message:  
    
     ‘
    
     Welcome firstname! You are logged in as role.  
    
     Ex. If a patient named Neymar logs in, he/she should receive the following message:  
    
     Welcome Neymar! You are logged-in as a patient.  
    
     ‘
    
     No additional functionality needs to be implemented at this point.  
    
     You can use Firebase or SQLite as DB support.
 
    
     What to submit:  
    
     A zip file that will include the following:  
    
     1
    
     . A readme file with the link for your Github repository and the list of all members.  
    
     . An APK of your app (with the functionality described in deliverable 1). The APK can be  
    
     found in yourAndroidProject>/app/build/outputs/apk/app-debug.apk. Name the APK  
    
     after the name of your team “group1_debug_apk”.  
    
     2
    
     3. A Word (or pdf) document that contains an UML Class diagram of your domain model.  
    
     This will only include the UML classes related to deliverable 1.  
    
     Deliverable 1 marking scheme  
    
     Feature or Task  
    
     % Weight  
    
     10  
    
     Github: Repository created in Github contains all members of the group,  
    
     user SEG2105-uottawa and the tasks assigned.  
    
     Github: Each member of the group has made at least ONE commit to the  
    
     repository.  
    
     20  
    
     30  
    
     UML Class diagram of your domain model  
    
     (
    
     (
    
     (
    
     (
    
     -2 for each missing class)  
    
     -2 for incorrect generalization)  
    
     -0.5 for each incorrect multiplicity)  
    
     -0.5 for each missing attribute)  
    
     APK submitted  
    
     Can create a walk in clinic employee account  
    
     Can create a patient account  
    
     Can see the ‘Welcome screen’ after successful authentication.  
    
     Can see the user role  
    
     5
    
     10  
    
     10  
    
     5
    
     Can see the name or username associated to the account  
    
     Fields are validated in all screens (e.g. you can’t enter an invalid email,  
    
     name, etc)  
    
     10  
    
     (-1 for each field in which the user input is not validated)  
    
     OPTIONAL – Group uses a DB (e.g. Firebase or SQLITE, or other similar  
    
     technology)  
    
     +25  
    
     Note – Password is stored as a hash value using SHA-256. See  
    
     MessageDigest documentation.  
    
     -10  
    
     if not implemented)  
    
     (
    
     DELIVERABLE 2  
    
     In this deliverable, you need to implement the Admin related functionality. That is, the app  
    
     should allow admin users to add, edit and delete services that can be offered by walk-in clinics  
    
     using the application.  
    
     In addition, the admin account must be able to delete walk-in clinic employee and patient  
    
     accounts.  
    
     What to submit:  
    
     A zip file that will include the following:  
    
     1
    
     2
    
     3
    
     . A readme file with the link for your repository and the list of all members.  
    
     . An APK of your app with the functionality described in deliverable 2.  
    
     . A PDF document that contains an updated UML Class diagram of your domain model.  
    
     This will only include the classes related to deliverable 1 and deliverable 2.  
    
     . At least 5 unit test cases testing the functionality.  
    
     4
    
     Notes:  
    
     
    
     Provide in your README file the credentials needed to sign-in as admin (if a predefined  
    
     admin account has been created).  
    
     
    
     
    
     Categories and subcategories of services are optional. This can however help you  
    
     organize your screens (imaging listing 50 services in a single screen).  
    
     Make sure your apk is correctly generated.  
    
     o Go to Build -> Build Bundle(s) / APK(s) > Build APK(s)  
    
     o Android Studio saves the APKs you build in project  
    
     name/modulename/build/outputs/apk/  
    
     o Use the _Debug one for submission.  
    
     o For more info: https://developer.android.com/studio/run/
 
    
     Deliverable 2 marking scheme  
    
     Feature or Task  
    
     % Weight  
    
     10  
    
     Updated UML Class diagram of your domain model  
    
     (
    
     (
    
     (
    
     (
    
     -2 for each missing class)  
    
     -2 for incorrect generalization)  
    
     -0.5 for each incorrect multiplicity)  
    
     -0.5 for each missing attribute)  
    
     APK submitted and ALL features working (see notes below)  
    
     5
    
     5
    
     Unit test cases (simple local tests). No need to include  
    
     30  
    
     instrumentation or Espresso Tests (UI)  
    
     Can add services to be offered by walk in clinics using the application. A  
    
     service has a name and role of person performing the service  
    
     15  
    
     (doctor/nurse/staff)  
    
     Can remove services that are no longer being offered  
    
     Can edit services  
    
     All fields are validated. For instance, you should not be able to create a  
    
     service with no name. This should be implemented along with valid error  
    
     messages.  
    
     15  
    
     15  
    
     10  
    
     (-1 for each field in which the user input is not validated)  
    
     OPTIONAL – Integration with CircleCI to see the automated builds and  
    
     +10  
    
     automated testing. This will become mandatory for deliverable 4.
 
    
     DELIVERABLE 3  
    
     In this deliverable, you need to implement the walk in clinic employee related functionality.  
    
     That is, the app should allow walk in clinic employees to complete their profiles and associate  
    
     their clinic to the set of predefined and available services (that were created by the admin). The  
    
     walk in clinic employee must also be able to set the working hours of the clinic.  
    
     What to submit:  
    
     A zip file that will include the following:  
    
     1. A readme file with the link for your repository and the list of all members.  
    
     2. An APK of your app (with the functionality described in deliverable 2).  
    
     3. A Word document that contains an updated UML Class diagram of your domain model.  
    
     This will only include the UML classes related to deliverables 1-3.  
    
     4. 2 Unit test cases testing the functionality. You can include more than 2 test cases.  
    
     Notes:  
    
     
    
     Provide in your README file the credentials needed to sign-in as a walk-in clinic  
    
     employee (if a predefined walk in clinic account has been created). The TA will also  
    
     attempt to create a service provider account from scratch.  
    
     Make sure your apk is correctly generated.  
    
     
    
     o Go to Build -> Build Bundle(s) / APK(s) > Build APK(s)  
    
     o Android Studio saves the APKs you build in project  
    
     name/modulename/build/outputs/apk/  
    
     o Use the _Debug one for submission.  
    
     o For more info: https://developer.android.com/studio/run/
 
    
     Deliverable 3 marking scheme  
    
     Feature or Task  
    
     % Weight  
    
     10  
    
     Updated UML Class diagram of your domain model  
    
     (
    
     (
    
     (
    
     (
    
     -2 for each missing class)  
    
     -2 for incorrect generalization)  
    
     -0.5 for each incorrect multiplicity)  
    
     -0.5 for each missing attribute)  
    
     APK submitted and ALL features working (see notes below)  
    
     5
    
     2
    
     Unit test cases (simple local tests). No need to include  
    
     10  
    
     instrumentation or Espresso Tests (UI)  
    
     Can complete the profile information.  
    
     15  
    
     –
    
     –
    
     –
    
     Enter address and phone number (mandatory field)  
    
     Name of the clinic (mandatory field)  
    
     Insurance types and payment methods accepted (mandatory  
    
     field).  
    
     You can include any other fields your find necessary.  
    
     The three fields above need to be included.  
    
     ‘Mandatory field’ means that the user must specify a value.  
    
     Can add services to their profile (From the list of services added by the  
    
     admin, the walk in clinic employee can select one or more services.)  
    
     Can delete services from their profile  
    
     Can specify clinic working hours. You are free to implement this feature  
    
     as you want. That is, with a calendar or by selecting predefined  
    
     timeslots, by week, by day, etc. Usability is key for this feature!  
    
     Can see the list of (their own) working hours.  
    
     All fields are validated. For instance, you should not be able to enter an  
    
     invalid phone number or address. This should be implemented along  
    
     with valid error messages.  
    
     10  
    
     10  
    
     20  
    
     10  
    
     10  
    
     (-1 for each field in which the user input is not validated)  
    
     OPTIONAL – Can edit the working hours  
    
     +10  
    
     DELIVERABLE 4  
    
     In this deliverable, you need to implement the patient related functionality. That is, the app  
    
     should allow patients to search for a walk in clinic by address/working hours/type of services  
    
     provided. The application must display the list of available walk in clinics based on the user  
    
     search and allow the user to check in/book an appointment. Finally, the application must show  
    
     the expected waiting time based on the number of people waiting to be seen (15 minutes per  
    
     person).  
    
     What to submit:  
    
     A zip file that includes the following:  
    
     
    
     
    
     A readme file with the link for your repository and the list of all members.  
    
     A Word document that contains an updated UML Class diagram of your domain model.  
    
     This will only all UML classes.  
    
     1
    
     . The document must include the lessons learned (and suggestions) and a table  
    
     stating the roles and contributions of team members for each deliverable. You  
    
     must add explanations in those cases where you find that the contributions were  
    
     not fair.  
    
     2. All the screenshots of your app.  
    
     
    
     
    
     10 Unit test cases testing the functionality. You can include more than 10 test cases.  
    
     APK generated (debug one). APK can be found in  
    
     <
    
     yourAndroidProject>/app/build/outputs/apk/app-debug.apk  
    
     
    
     Notes:  
    
     
    
     Source code  
    
     Provide in your README file the credentials needed to sign-in as a patient. The TA will  
    
     also attempt to create a service provider account from scratch.  
    
     Make sure your apk is correctly generated.  
    
     
    
     o Go to Build -> Build Bundle(s) / APK(s) > Build APK(s)  
    
     o Android Studio saves the APKs you build in project  
    
     name/modulename/build/outputs/apk/  
    
     o Use the _Debug one for submission.  
    
     o For more info: https://developer.android.com/studio/run/  
    
     Deliverable 4 marking scheme  
    
     Feature or Task  
    
     % Weight  
    
     5
    
     Updated UML Class diagram of your domain model  
    
     (
    
     (
    
     (
    
     (
    
     -2 for each missing class)  
    
     -2 for incorrect generalization)  
    
     -0.5 for each incorrect multiplicity)  
    
     -0.5 for each missing attribute)  
    
     APK submitted and ALL features working AND SOURCE CODE  
    
     Make sure you test your APK. An invalid APK will receive 0.  
    
     Final report including:  
    
     5
    
     30  
    
     –
    
     –
    
     –
    
     –
    
     A title page (2.5 points)  
    
     Short Introduction (2.5 points)  
    
     Update UML class diagram  
    
     Table with the roles in the team and contributions of team  
    
     members for each deliverable. (10 points)  
    
     All the screenshots of your app. (10 points)  
    
     Lessons learned (5 points)  
    
     –
    
     –
    
     1
    
     instrumentation or Espresso Tests (UI).  
    
     Test cases must be relevant to the features of deliverable 4  
    
     Can search for a walk in clinic by:  
    
     0 Unit test cases (simple local tests). No need to include  
    
     10  
    
     10  
    
     –
    
     –
    
     –
    
     address  
    
     working hours  
    
     type of services provided  
    
     View approximate waiting time and check in/book an appointment  
    
     Can rate a clinic by providing a comment and a rating from 1 to 5  
    
     CircleCI – Build button needs to appear in the Github (see instructions  
    
     below).  
    
     15  
    
     5
    
     10  
    
     All fields are validated. For instance, you should not be able to select a  
    
     date in the past when booking an appointment. This should be  
    
     implemented along with valid error messages.  
    
     10  
    
     (-1 for each field in which the user input is not validated)  
    
     BONUS FOR EXCELLENT UI DESIGN  
    
     +10  
    
     How to add a build button in your GitHub repo?  
    
     In your README.MD file, add the following line:  
    
     #
    
     Starts Here  
    
     Build Status  
    
     ](https://circle  
    
     ci.com/gh/SEG2105F18/ProductCatalog)  
    
     #Ends Here  
    
     Elements in blue need to be modified to correspond with your username and project name.  
    
     Example: https://github.com/SEG2105F18/ProductCatalog/edit/master/README.md  
    
     Your build must be successful! Green Button instead of a red one.  
    
CONTACT
 
                        Service Scope
                            C|C++|Java|Python|Matlab|Android|Jsp|Prolog|MIPS|Haskell|R|Linux|C#|PHP|SQL|
                            .Net|Hadoop|Processing|JS|Ruby|Scala|Rust|Data Mining|数据库|Oracle|Mysql|
                            Sqlite|IOS|Data Mining|网络编程|多线程编程|Linux编程|操作系统|
                            计算机网络|留学生|编程|程序|代写|加急|个人代写|作业代写|Assignment
                        
                     
