Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lab 10: Project and Code Organization User Interface Lab: GUI Lab Oct. 18 th, 2014.

Similar presentations


Presentation on theme: "Lab 10: Project and Code Organization User Interface Lab: GUI Lab Oct. 18 th, 2014."— Presentation transcript:

1 Lab 10: Project and Code Organization User Interface Lab: GUI Lab Oct. 18 th, 2014

2 Project 4 Due Thursday Any questions?

3 Organizing a Project So far we’ve mostly covered how to do things I’ve mostly left out the why to do things

4 My Tips for Organizing a Project Things that I do How I designed the projects (Mostly) best practices I’ve never actually taken a software engineering course

5 Project Process 1.Sketch out the interface 2.Define the interface’s parts 3.Define the states and transitions for each part 4.Stub out each part/state 5.Flesh out the parts and build features

6 Project Process 1.Sketch out the interface 1.What does the user need to be able to do? 2.What affordances do they need to able to do those things?

7 Project Process 2.Define the parts of the interface 1.How should my affordances be organized? 2.Separate your concerns 3.What things does the user need to do a lot? What do they do every so often?

8 Project Process 3.For each part 1.What actions does this part perform? 1.what does it need to know about to do those? 2.What are the parameters to the actions? 3.Are the actions prefix/postfix/infix? 2.What states does this part go through? 3.What causes the change between those states? 1.What events would cause changes in state?

9 Project Process 4.Stub out each part 1.Are there primitives (buttons, text fields, form inputs) that can accomplish this part for me? 2.What data do I need to represent a state? 1.What goes in the model? (MVC) 2.Do states share data? (probably) 3.What functions will the state need to function? 1.What events drive these functions? 2.What parameters do these functions need?

10 Random Notes 1.How things relate to each other is more important than how they work in isolation 2.Look for places you are writing the same code a lot, can you put that common code in a function? 3.Think about actions in terms of frames instead of smooth action 1.what events drive the continuation of an action

11 Random Notes 1.Write like someone else will have to read your code (it will probably be you) 2.Write like your worst enemy will try to use your code to destroy you (this is called a user)

12 Questions?


Download ppt "Lab 10: Project and Code Organization User Interface Lab: GUI Lab Oct. 18 th, 2014."

Similar presentations


Ads by Google