final presentation sydney tour. divya nalla 30107395 raja kandasamy 30102984 rajashekar donti...

52
ITECH 7602 PROJECT FINAL PRESENTATION SYDNEY TOUR

Upload: leslie-spencer

Post on 28-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

ITECH 7602 PROJECT

FINAL PRESENTATIONSYDNEY TOUR

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

Analysis

Content for the application

Data required for the application

Team member designation

Analysis

Design

Sketched the story boards

Compared the other applications

Discussed 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 Devices

Devices includes mobile devices like iPad,

Iphone, iTouch & iPod

System

Pattern

Design/Code Structure

Implementation

Design Choices

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

Class diagram

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

Flow diagram

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

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://9slides.com/

http://writing.engr.psu.edu/models.html

References

Thank you