1 / 40

ITECH7602 - PROJECT

ITECH7602 - PROJECT. SRS and SADD Presentation Team members Divya Nalla - 30107395 Raja Kandasamy - 30102984 Rajashekar Donti - 30106226 Ren Zhu - 30115339 Sadah Suliman - 30886830. Software Specifications Requirement for an IOS Application. Design Pattern-Coding Structure-Implementation.

faris
Download Presentation

ITECH7602 - PROJECT

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ITECH7602 - PROJECT • SRS and SADD Presentation Team members Divya Nalla - 30107395 Raja Kandasamy - 30102984 Rajashekar Donti - 30106226 Ren Zhu - 30115339 Sadah Suliman - 30886830

  2. Software Specifications Requirement for an IOS Application Design Pattern-Coding Structure-Implementation

  3. System • Intel-Based Macintosh Computer with IOS DSK Installed • Applicable to All IOS Devices • Devices includes mobile devices like iPad, Iphone, iTouch & iPod

  4. Design Choices • Pattern • Code Structure • Implementation

  5. App Design Basics • Handling Events • Displaying Content on the Screen • Interacting with the rest of the System • Run the application on background

  6. 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

  7. App States and Multitasking • iCloud Affects the Design of Your Data Model and UI Layers • iCloud allows you to share the user’s data among multiple instances of your app running on different iOS and Mac OS X devices

  8. iCloud Storage • Apps Require Some Specific Resources • Apps include images, sounds, and other types of resources for presenting the app’s content but the App Store also requires some specific resources be present

  9. App-related Resources • Many App Behaviour's Can Be Customized • The core architecture of all apps may be the same • These tweaks are how you add specific high-level features, such as data protection and URL handling

  10. Advanced App Tricks • Apps Must Be Tuned for Performance • Great apps are always tuned for the best possible performance • This application will provide consistency • The current data are retrieved from the Google API

  11. Performance •  For iOS apps, performance means more than just writing fast code • App does not degrade battery life significantly

  12. Performance contd., • You can tune your code • The types of changes that are likely to provide the most benefit

  13. Performance Tuning • The iOS Environment Affects Many App Behaviours • There are aspects of iOS itself that impact how you design and write applications • it takes a more active role in providing security for apps

  14. Security • Other system behaviours also affect everything from how memory is managed to how the system responds to hardware input • All of these system behaviours affect the way you design your apps

  15. Appendix: The IOS Environment • Important information about the core objects of your app and how they work together • Tour of the architecture that is common to all iOS apps and highlights key places where you can modify that architecture to meet your needs

  16. Prerequisites • Practical aspects involved with implementing your app •  installed the iOS SDK and configured your development environment

  17. Prerequisites contd., • App Store provides information for Developing Environment on how to configure the Development Process and an overview

  18. Class diagram

  19. References • http://weekendtechnologies.com/en/apps • http://www.theinquirer.net/inquirer/feature/2274104/ios-7-specs-and-features-everything-you-need-to-know

  20. Software Architecture Design Document for iOS App

  21. iOS Architecture • Layers • Cocoa Touch • Media • Core Services • Core Operating System

  22. Framework • Dynamic Shared Library • Header Files • Images • Helper Apps

  23. Development Environment • X-Code 1)Create 2)Test 3)Debug 4)Tune This is to be done in an iOS Simulator

  24. Developer Library • Documentation • Platform • Objective c • Google API

  25. 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

  26. 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

  27. 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

  28. 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

  29. 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

  30. 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

  31. Controller • The Controller acts as an intermediary between the Model and the View. The Controller is where your core logic goes

  32. Flow diagram

  33. Interaction • User interacts with the view— • Touch • Tap • Pinch • Flick a user-interface object

  34. Interaction contd., • In response, the View passes a call to the Controller, and the Controller does something based on that interaction

  35. Alternative Process Interaction • Sometimes when saved, a Model entity, it gets new or default values • For example, if you save a new invoice entity, it may be assigned an invoice number. So, the model can fire an event that tells the controller

  36. Example: Calculator-Control Object

  37. 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

  38. 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

  39. 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

  40. References • http://msmvps.com/blogs/kevinmcneish/archive/2012/12/16/building-a-solid-ios-app-architecture.aspx

More Related