520 likes | 630 Views
ITECH 7602 PROJECT. FINAL PRESENTATION SYDNEY TOUR. Team Members. Divya Nalla 30107395 Raja Kandasamy 30102984 RajaShekar Donti 30106226 Ren Zhu 30115339 Sadah Omar Sulaiman 30086830. Role of Team Members. Raja Kandasamy – Team Leader, coding Ren Zhu – coding, documentation
E N D
ITECH 7602 PROJECT FINAL PRESENTATION SYDNEY TOUR
Team Members Divya Nalla 30107395 Raja Kandasamy 30102984 RajaShekar Donti 30106226 Ren Zhu 30115339 Sadah Omar Sulaiman 30086830
Role of Team Members Raja Kandasamy – Team Leader, coding Ren Zhu – coding, documentation Divya Nalla – Documentation Rajashekar Donti – poster, documentation Sadah Omar Sulaiman – team website, documentation
Aim of the project Develop a simple online digital tour guide on Sydney city for the iOS mobile device
Overview 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
Project deliverables • Basic project plan • Software project management plan • Software requirement specification • Software architecture design document • Software testing plan • User documentation
Analysis • Content for the application • Data required for the application • Team member designation
Design • Sketched the story boards • Compared the other applications • Discussed in locating the buttons and contents
Design Initial story board – Home page
Design Story board – search page
Design Story board – map view
System • 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
Design Choices • Pattern • Design/Code Structure • Implementation
App Design Basics • Handling Events • Displaying Content on the Screen • Interacting with the rest of the System • Run the application on background
Core App Objects • 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
Performance • 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
Development Tools required • Operating system – Macintosh • Software – xcode 4.6.3 with simulator • Database – Google API • Programming language – Objective C
Prerequisites • Practical aspects involved with implementing your app • installed the iOS SDK and configured your development environment
Prerequisites contd., • App Store provides information for Developing Environment on how to configure the Development Process and an overview
iOS Architecture Layers • Cocoa Touch • Media • Core Services • Core Operating System
Framework • Dynamic Shared Library • Header Files • Images • Helper Apps
Development Environment X-Code • Create • Test • Debug • Tune This is to be done in an iOS Simulator
Developer Library • Documentation • Platform • Objective c • Google API
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 User interacts with • view • Touch • Tap • 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
References • 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