ITECH 7602 PROJECT
description
Transcript of ITECH 7602 PROJECT
ITECH 7602 PROJECT
FINAL PRESENTATIONSYDNEY TOUR
Divya Nalla 30107395Raja Kandasamy 30102984RajaShekar Donti 30106226
Ren Zhu 30115339Sadah Omar Sulaiman 30086830
Team Members
Raja Kandasamy – Team Leader, coding Ren Zhu – coding, documentation
Divya Nalla – DocumentationRajashekar 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 planSoftware project management planSoftware requirement specificationSoftware architecture design documentSoftware testing planUser documentation
Project deliverables
Analysis
Content for the applicationData required for the applicationTeam member designation
Analysis
Design
Sketched the story boardsCompared the other applicationsDiscussed in locating the buttons and
contents
Design
Design Initial story board – Home page
Design Story board – search page
Design Story board – map view
Intel-Based Macintosh Computer with IOS SDK (Software Developer Kit) Installed
Applicable to All IOS DevicesDevices includes mobile devices like iPad,
Iphone, iTouch & iPod
System
PatternDesign/Code Structure Implementation
Design Choices
Handling EventsDisplaying Content on the Screen Interacting with the rest of the SystemRun 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 – MacintoshSoftware – xcode 4.6.3 with simulatorDatabase – Google APIProgramming 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.,
Class diagram
iOS ArchitectureLayers
Cocoa Touch Media Core Services Core Operating System
FrameworkDynamic Shared LibraryHeader Files ImagesHelper Apps
Development EnvironmentX-Code
CreateTestDebugTuneThis is to be done in an iOS Simulator
Developer LibraryDocumentationPlatformObjective cGoogle API
Design PatternsThe 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-ControllerA more formal way to look at the three main
parts of an App is by means of the Model-View-Controller design pattern
Model → DataView → User InterfaceController → Core Logic
ModelThe 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
VisionVision is the interaction between the user and the systems directly. The user interacts with objects likeButtons Slide barDropdown boxesSearch bar
ControllerThe Controller acts as an intermediary
between the Model and the View. The Controller is where your core logic goes
Flow diagram
InteractionUser interacts with viewTouchTap Pinch
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
Screen shots of the application
Screen shots of the application
Screen shots of the application
Screen shots of the application
Screen shots of the application
Screen shots of the application
Screen shots of the application
Screen shots of the application
Screen shots of the application
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
Thank you