2018 Software Engineering Studio 1B

Introduction

Studio 1B was divided into 10 groups accordingly to a survey completed by majority of the students which rated competency and experience in programming. I was put into Group 4 with 5 other students.

We discussed and planned according what each student was confident in and what role we wanted to partake. After an hour of discussion the group discovered 36, that’s half the group, have completed Studio 1A and the other have not. Then it was brought to my attention that another student and myself had the most experience in programming. The other student and I divided up the project by features and designated those sections according by experience level. Difficult features went to the most experience students and least difficult were assigned to lower experience students.

As the first workshop conclude we had choose a Project Leader. By vote, I was nominated to represent Group 4. Wish me luck!


Objective

Software Engineering Studio 1B Assignment Task Outline

File - /41094-2018-SPRING-CITY/Software-Engineering-Studio-1B-Assignment-Task-Outline_17.07.2018.pdf

Main Task

Smart phone based Patient-Doctor consultation app.

Overview

A nameless small budget medical corporation has decided to hire you, a group of Software Engineering Studio 1B students, to develop a smart phone app which aims to remotely connect patients to their respective doctors. This smart phone app will allow patients to create a data packet containing written, measured, and recorded data. The patient will need to be able to securely send this data packet from their smart phone to their certified doctor’s smart phone where he/she can analyse the data and provide medical feedback to the patient through his/her smartphone. The app needs to be easy to use for both the patients and doctors. Also, security is of the upmost importance, as the breach of medical confidentiality will result in legal repercussions. The corporation will provide basic prototype that was developed by a previously hired graduate student. Unfortunately, this prototype is not functional, hence the corporation has high hopes for you to complete this application.

The development of application has been split into two distinct iterations with key milestones that must be met by the marked deadline. Further details will be elaborated within the specific iteration block.

This is a 12 week project which ends on each group presenting their application to the class.


User Story Board

This story board represents final version of the 2 iterations. Each iteration lasts 4 weeks but iteration 2 received an extra week.

ahh your not suppose to see this

Prototype

For my last project I used Adobe Illustrator and Photoshop but this time I used Adobe XD CC. A friend of mine recommended it due to reason that XD was built for prototyping. It was a good recommendation.

It allows you create graphic designs with an ease and has this sweet publishing tool thats allow you have functional app using a internet browser.

Check out my prototype I made! :)

https://xd.adobe.com/view/3b46a7f8-dc33-4bed-7200-8318bfca26bf-4d77/?fullscreen&hints=off


ahh your not suppose to see this

ahh your not suppose to see this

Teaching

The most surprising part I had to do in this studio was teaching. Inexperienced in teaching by being self-taught in other topics as such my interests and hobbies, it was quite clear it was going to be a challenge. I had to present a small tutorial to my group on several programming topics and tools.

  • Agile software development
    • Team Charter
    • User Story Board
    • Stand Up Meetings
  • Git
    • Clone
    • Intialize
    • Add file
    • Commit
    • Push
    • Pull
  • GitHub
    • Pull request
  • Android studio
    • Navigation and tools
    • Terminal
    • Debug
    • Emulator
  • Basic java programming
    • Syntax
    • Loops/Interator
    • Comments

Each hour of each workshop went on it was clear that my way teaching was ‘kinda’ working. It was a slow but important process for autonomous habit apart of the group. As it was quite impossible to teach everything at once I taught them valuable skills in self learning. Google and YouTube are your best friend when you’re a beginner. From googling, you can easily find answers online. Although your problems is not same as theirs you can deconstruct part of code and apply it to yours. This method can be applied with YouTube videos.

It critical to learn from these answers to not copy them but find why it works. Only from deconstructing the answer and finding why it works, you can create a solution without the internet.


My feature

At the start of the project I was paired up with another member for a particular feature. However this particular feature was developed by myself due that other members couldn’t vision how a particular feature would work. I got down to work and feature the baseline of the app by building an application that ran through Google Firebase for Account Authentication. I did not implement a verification system through email as I thought it was not an important feature at the beginning the project.

Most of my time went into create skeleton code and graphic designs for other features. Since everyone is quite new to programming I wrote them step-by-step instructions and guidelines how a specific feature is suppose to work and together with another feature.

Additionally as project leader, I gave some of the students 1-on-1 lessons when there don’t understand something or their code doesn’t work. Majority of the time I don’t know the answer but by letting running down their thought process and how their program works we eventually figured out the answer.

What should I learn next time?

  • Back-end development
  • Frameworks
  • Microservices
  • Maybe something else besides Android Studio

Experience

Although I was quite disappointed in amount of work completed by the end of the project, it was a good learning experience to look back at and learn from it. I learnt how to use and implement more software tools and frameworks and I am extremely how happy my prototpye looks.


Fin

If you would to download and test our app, I have provided a link below.

https://github.com/apagala/CheckUp-APK
There are 2 apk version 21 & 23. Please choose according to your android API.

Project link: https://github.com/ASustiyono/SES-1B-Group-3

Nifty tech tag lists from Wouter Beeftink