CMPUT 301

Software Engineering

2012 W Project Problem Description

You are to design and implement an attractive, usable, interactive Android application to help satisfy the following user's goals. Your design should be flexible enough to allow future developers to extend it to, for example, add new types of entries (see below).

User's Problem Description

I went to my doctor and had a physical. It was embarassing. The doctor pointed out some spots and asked if I had seen them before. I wasn't sure, so neither put pushed the issue any further. We didn't know, so we weren't going to do anything. Another time I went to the doctor and had the doctor investigate a spot on my hand. The doctor asked me if it had changed, I wasn't sure. The doctor asked me if it had grown, I said I assume so because why am I noticing it now. The doctor shrugged, said it looked alright and told me to keep track of it. Come back if it changed.

I can't remember if it changes, to prove something changed I need evidence. I could take photos of my whole body and keep them in a safe place, but would I remember to take the photos again and consistently?

Thus I want software that will run on my phone and allow me to take photos of skin issues I might have. These photos will be for my own sanity as well I can provide them to physicians when they are needed.

I the user want to be able to track and document changes that occur on my skin. I want to use my cellphone to help me document all the blemishes and marks on my skin such that I can keep track of them.

Needs in (Partial) User Story Form

User needs are expressed in the form of partial user stories: as a , I want as a , I want so that

These descriptions may change to correct omissions and clarify noticed issues.

As a user, I want to keep a visual log of any skin conditions I might . The purpose could be to gather a personal history of a medical condition as to provide evidence to a physician.

As a user, I want pictures I take to be stored so that I may recall them and view them later.

As a user, I want all pictures I take to be timestamped so that I can measure the time between photos and know when an event occurred.

As a user, I want a method to organize these pictures so that I can view pictures of the same bit of skin over time and see if there is any progression or growth. For instance I might want to organize some photos that are related to my "gross mole that occurs on my right hand".

As a user if I have an organizational tag or group, I want to be able to add photos to that group so that I can further track the progression of something relevant to that group.

As a user, I want to be able to review any photos I have taken and view them so that I can see any changes.

As a user, I want some method of helping me take consistent photos, so that when I show the doctor any progression such as the growth of a mole is evident.

As a user, I should be able to retake photos I am taking, if I fail to take the photo I want to correct, so that I don't have erroneous photos.

As a user, I should be able to compare pictures in some manner, so that I can personally inspect them for differences.

New Needs for Project Part 4 in (Partial) User Story Form

As a user, I am worried that if my phone gets stolen people will see my photos. I want my photos secured via a password.

As a user, I am worried that if my phone gets stolen people will extract my photos and view them. I want my photos encrypted on the phone so if someone accesses the file system the image data should be encrypted so they can't extract the jpegs.

As a user, I want notifications about when I should take photos again. I'm forgetful and being told every so often to take new photos would be helpful. Certain photos I don't have to retake again.

As a user, I would like to control the rate, per blemish/set of photos that the notifications occur.

As a user, I want to email a set of photos to my physician.

As a user, I want to extract a set of the photos into an archive on my SDCard so I can share them.

As a user I would like to annotate images with annotations to describe the scenario that I made this photo

As a user I would like to tag the images so I can query the image by tag.

As a user I would like to browse the photos in different ways, by time, by tag, etc.

As a Doctor, I want to use this application to record information about my own patients. Thus I need to organize blemishes and photo collection per patient.

As a Doctor, I want to browse my patient photos in different ways, by time, by tag, etc.

Note A class advances and questions are asked new story cards will be created.