splatter! critical design review by: david kikuta march 15, 2011
TRANSCRIPT
Splatter!Critical Design Review
By: David KikutaMarch 15, 2011
Project Description
Drawing application for the Apple iPad. Quick way to design and store ideas. Requires at least one iPad, but connection
between two iPads is possible. Target audience is those who work in a team
environment.
Project Goals
Splatter! is an exercise on learning Objective C and how to create applications for the iPad.
Create an application that provides users a convenient way to design and save their ideas for future use.
Learn how to network multiple iPads. Learn about data storage on an iPad.
User Interface
Buttons – New, Save, Open, Information, Connect
Color sliders and output display (R,G,B)
Pre-made color selector
Removable toolbar and color selector
Use Case Diagram
Show ProductInformation
Select NewColor
Save CurrentDesign
Load PreviousDesign
Create NewDesign
Change SelectedColor
Draw Shape
Connect to iPad
Handle Files
User
iPad
iPad
<<include>>
<<include>>
Splatter!
User Story – Saving an Image
User runs the Splatter! application. Application loads completely. User touches and drags on canvas to create a design. Application draws as the user is dragging. User lifts finger off the iPad. Application stops drawing. User touches “save” button. Application recognizes the button press and prompts save window. User accepts the save. Application saves the image from the canvas to the iPad Photo
Album.
ColorsViewController
RedSlider: UISliderGreenSlider: UISliderBlueSlider: UISliderPremadeColors: UISegmentedControl
redValueChanged()greenValueChanged()blueValueChanged()
ToolViewController
newButtonPressed()loadButtonPressed()saveButtonPressed()informationButtonPressed()connectButtonPressed()
InformationViewController
TBD
SplatterViewController
showColors: UIButtonshowTools: UIButtonhideColors: UIButtonhideTools: UIButton
toolButtonPressed()colorsButtonPressed()
UIViewController
Detailed Class Diagram (1 of 2)
Detailed Class Diagram (2 of 2)
ColorChooser
red: floatgreen: floatblue: float
updateColor()premadeColorSelected()
FileHandler
canvasView: UIImageView
<<category>>FileSaver
saveImageToPhotoLibrary()
<<category>>FileLoader
loadImageFromPhotoLibrary()imagePickerControllerDidCancel()didFinishPickingMediaWithInfo()
ConnectionHandler
TBD
Sequence Diagram:Choosing a Color
1: Move Color Slider
ColorsViewController ColorChooser
2: Color ValueChanged
4: New ColorValue
Obtained
5: Update View With Value(s)
6: Display Updated View
User
3: Updated Color Value
State Diagram: Drawing
Splatter! isloading
Creating anempty canvas
Waiting for input
Analyzing atouch event
Drawing a dotat touched location
Drawing a lineup to current
location
User Runs
Splatter!
Applicationhas loaded
Canvas iscreated
User touches a button or a
slider
User touches canvas
User taps
User drags
User continues dragging
User stops dragging Drawing finished
Beginninganother task
Project Challenges
Working with manually coded UI widgets as well as the Interface Builder.
Working with delegates and multiple view controllers.
Status ReportAccomplishments Fixed issue with drawing overlapping views. File saving implemented. Moved buttons for hiding colors and tools
and added buttons for showing them. File loading almost complete.
Next Week's Plans Continue work on connectivity. Begin adding additional features (ie.
Different shapes, size of drawn shape)
This Week's Plans Finish file loading. Research iPad connectivity. Begin implementation of connectivity. Fix classes and commit. Deploy to iPad.
Risks / Help NeededGetting closer but not quite at the point where my classes are satisfying.
Important Meetings2011-03-22 Next status report.
Questions?