final presentation sydney tour. divya nalla 30107395 raja kandasamy 30102984 rajashekar donti...
TRANSCRIPT
Divya Nalla 30107395
Raja Kandasamy 30102984
RajaShekar Donti 30106226
Ren Zhu 30115339
Sadah Omar Sulaiman 30086830
Team Members
Raja Kandasamy – Team Leader, coding
Ren Zhu – coding, documentation
Divya Nalla – Documentation
Rajashekar Donti – poster, documentation
Sadah Omar Sulaiman – team website,
documentation
Role of Team Members
Develop a simple online digital tour guide on
Sydney city for the iOS mobile device
Aim of the project
iOS application on exploring the city Sydney,
Australia
Users to explore the classical and traditional
places of the city
Users to deliver a tour plan accordingly on their
current locations
Navigates the user to their destination
comfortably
Overview of the project
Basic project plan
Software project management plan
Software requirement specification
Software architecture design document
Software testing plan
User documentation
Project deliverables
Sketched the story boards
Compared the other applications
Discussed in locating the buttons and
contents
Design
Intel-Based Macintosh Computer with IOS
SDK (Software Developer Kit) Installed
Applicable to All IOS Devices
Devices includes mobile devices like iPad,
Iphone, iTouch & iPod
System
Handling Events
Displaying Content on the Screen
Interacting with the rest of the System
Run the application on background
App Design Basics
Must be Different in Background and
Foreground
Runs Simultaneously apps in the
background
Only one foreground App but multiple apps
can run in the background
Core App Objects
For iOS apps, performance means more
than just writing fast code
App does not degrade battery life
significantly
The types of changes that are likely to
provide the most benefit
Performance
Tools required
Operating system – Macintosh
Software – xcode 4.6.3 with simulator
Database – Google API
Programming language – Objective C
Development
Practical aspects involved with
implementing your app
installed the iOS SDK and configured your
development environment
Prerequisites
App Store provides information for
Developing Environment on how to
configure the Development Process and an
overview
Prerequisites contd.,
Design Patterns
The great thing about these patterns is they
work well regardless of the tools you are
using—whether it’s Objective-C and iOS,
Java and Android, or C# and Windows
Phone
Evolution and Changes in Apps
Not just once or twice, but many times over
—and that’s even before you release it to
the App store for the first time
After it’s released, your App will change
even more as others use it, provide
feedback and suggest enhancements
Where to Implement?
User Interface(UI)
Core logic
Data
It is a Monolithic architecture that is difficult to
change
Creates a situation where you can’t change
one part of the App without changing the other
Model-View-Controller
A more formal way to look at the three main
parts of an App is by means of the Model-
View-Controller design pattern
Model → Data
View → User Interface
Controller → Core Logic
Model
The Model is your application’s data and, in
iOS, usually takes the form of entities. An
entity represents an object in the real world
Customer entity, Order entity, and Product
entity
Vision
Vision is the interaction between the user and
the systems directly.
The user interacts with objects like
Buttons
Slide bar
Dropdown boxes
Search bar
Controller
The Controller acts as an intermediary
between the Model and the View. The
Controller is where your core logic goes
Interaction contd.,
In response, the View passes a call to the
Controller, and the Controller does
something related to the response based on
that interaction
Alternative Process Interaction
Sometimes when saved, a Model entity, it
gets new or default values
For example, if you save a new location
entity, it may be assigned an location
number. So, the model can fire an event
that tells the controller
Defects
A view is typically bound to a single view
controller
Ultimately, the view controller is a user-interface
object. It’s not the tight coupling between the
view and the view controller that’s the problem
—that’s perfectly fine
The problem is the core logic code that’s in the
view controller
Defects contd.,
Unfortunately, because the core logic is
buried inside the view controller, there isn’t
a clean way to reuse this logic in another
App. It’s “stuck in the weeds” of the user
interface
Better Implementation Techniques
Put in the core logic in some other place
where you can access it from multiple Apps,
or from multiple view controllers in a single
App
http://weekendtechnologies.com/en/apps
http://www.theinquirer.net/inquirer/feature/2274104/ios-7-specs-and-features-everything-you-need-to-know
http://mobithinking.com/mobile-marketing-tools/latest-mobile-stats
References
http://9slides.com/
http://writing.engr.psu.edu/models.html
References