Sunday, 24 February 2013

Day player architecture

  
Are you serious, its just a time management app !!!! 


I know, its not so complicated to make a separate architecture for it. but for the sake of understanding architecture design and how it looks (at least in the big projects), i did it for practice. 

so this app can skip this step and proceed to class design phase as i mention in the last post. 

but so far this architecture can guide you through the main components, and make the class design process easy.

how the architecture look?

    in this architecture, i followed cocoa guidelines and separated the overall design into three main components, Interface, model and controller between them.
Interface is clear enough 
model
  • will be array of tasks 
  • and attached to this model the iCloud synchronization component
controller
  • Task controller which handle the timing between tasks and interaction with the interface
  • Reporting controller which do the logic of generating useful reports from the model objects

What are missing from this architecture
   As i said, this is a simple app, so the majority of architecture level components are missing here.     so we miss components and concepts like
  1. scalability
  2. security issues
  3. performance
  4. error processing and others ....
The next step is to hack every component and make classes that represent this component. 
designing classes is the third level of designing phases and it deserve a post by itself, so i will put off this now. for the mean time i am working on the app wire-frame. more on wire-frame in the next post. 

have a nice day.


"Give me a task updates:I have changed the name of the app, it's now called "Day player".  however the main features are the same, i did't make any changes."

Salam,
M.Aleem

No comments:

Post a Comment