SRS Software Requirements Specification



ITECH 6101SRS Software Requirements SpecificationITECH 7602 ProjectTrip Guide Team Abstract: The SRS document contains the details of the team members involved in project successful completion and the client who requested to develop an application. This SRS document enables the contract between the client and team members and also ensures client satisfaction. This document will contain details of the requirements for the application being developed by team. A list of functional and non-functional requirements will be given.Revision ChartVersionPrimary Author(s)Description of VersionDate CompletedDraft v0.1Ren Zhu, SadahInitial draft created for distribution and review comments01/09/2013Contents TOC \o "1-3" \h \z \u Revision Chart PAGEREF _Toc367785506 \h 11.Introduction PAGEREF _Toc367785507 \h 51.1.Purpose of this Document: PAGEREF _Toc367785508 \h 71.2.Acronyms and Definitions PAGEREF _Toc367785509 \h 7Acronym PAGEREF _Toc367785510 \h 7Meaning PAGEREF _Toc367785511 \h 71.3.References PAGEREF _Toc367785512 \h 92.General Overview PAGEREF _Toc367785513 \h 92.1.User Characteristics PAGEREF _Toc367785514 \h 92.1.1.User interface requirements PAGEREF _Toc367785515 \h 92.1.2.Ease of Use PAGEREF _Toc367785516 \h 102.1.3.Ease of Learning PAGEREF _Toc367785517 \h 102.2.Functional Requirements Overview PAGEREF _Toc367785518 \h 102.3.Data Requirements Overview PAGEREF _Toc367785519 \h 102.4.Constraints, Assumptions, Dependencies, Guidelines PAGEREF _Toc367785520 \h 102.4.1.Assumptions / Constraints PAGEREF _Toc367785521 \h 112.4.2.Dependencies PAGEREF _Toc367785522 \h 112.4.3.Guidelines PAGEREF _Toc367785523 \h 112.5.User view of Product Use PAGEREF _Toc367785524 \h 113.Functional Requirements PAGEREF _Toc367785525 \h 123.1 Browse for recommend places through menu PAGEREF _Toc367785526 \h 123.1.1 Description PAGEREF _Toc367785527 \h 173.1.2 Criticality PAGEREF _Toc367785528 \h 183.1.3 Technical Issues PAGEREF _Toc367785529 \h 183.1.4 Cost and Schedule PAGEREF _Toc367785530 \h 183.1.5 Risks PAGEREF _Toc367785531 \h 183.1.6 Dependencies with other requirements PAGEREF _Toc367785532 \h 183.2 Browse places directly by map: PAGEREF _Toc367785533 \h 183.2.1 Description PAGEREF _Toc367785534 \h 223.2.2 Criticality PAGEREF _Toc367785535 \h 223.2.3 Technical Issues PAGEREF _Toc367785536 \h 223.2.4 Cost and Schedule PAGEREF _Toc367785537 \h 223.2.5 Risks PAGEREF _Toc367785538 \h 223.2.6 Dependencies with other requirements PAGEREF _Toc367785539 \h 223.3 Show Popular Places on welcome screen PAGEREF _Toc367785540 \h 223.3.1 Description PAGEREF _Toc367785541 \h 233.3.2 Criticality PAGEREF _Toc367785542 \h 243.3.3 Technical Issues PAGEREF _Toc367785543 \h 243.3.4 Cost and Schedule PAGEREF _Toc367785544 \h 243.3.5 Risks PAGEREF _Toc367785545 \h 243.3.6 Dependencies with other requirements PAGEREF _Toc367785546 \h 243.4 Facebook Login PAGEREF _Toc367785547 \h 243.4.1 Description PAGEREF _Toc367785548 \h 253.4.2 Criticality PAGEREF _Toc367785549 \h 263.4.3 Technical Issues PAGEREF _Toc367785550 \h 263.4.4 Cost and Schedule PAGEREF _Toc367785551 \h 263.4.5 Risks PAGEREF _Toc367785552 \h 263.4.6 Dependencies with other requirements PAGEREF _Toc367785553 \h 263.5 Search places by name or key words PAGEREF _Toc367785554 \h 263.5.1 Description PAGEREF _Toc367785555 \h 273.5.2 Criticality PAGEREF _Toc367785556 \h 283.5.3 Technical Issues PAGEREF _Toc367785557 \h 283.5.4 Cost and Schedule PAGEREF _Toc367785558 \h 283.5.5 Risks PAGEREF _Toc367785559 \h 283.5.6 Dependencies with other requirements PAGEREF _Toc367785560 \h 283.6 Location Filter PAGEREF _Toc367785561 \h 283.6.1 Description PAGEREF _Toc367785562 \h 293.6.2 Criticality PAGEREF _Toc367785563 \h 303.6.3 Technical Issues PAGEREF _Toc367785564 \h 303.6.4 Cost and Schedule PAGEREF _Toc367785565 \h 303.6.5 Risks PAGEREF _Toc367785566 \h 303.6.6 Dependencies with other requirements PAGEREF _Toc367785567 \h 303.7 Directions PAGEREF _Toc367785568 \h 303.7.1 Description PAGEREF _Toc367785569 \h 313.7.2 Criticality PAGEREF _Toc367785570 \h 323.7.3 Technical Issues PAGEREF _Toc367785571 \h 323.7.4 Cost and Schedule PAGEREF _Toc367785572 \h 323.7.5 Risks PAGEREF _Toc367785573 \h 323.7.6 Dependencies with other requirements PAGEREF _Toc367785574 \h 323.8 Description of data relevant to system as appropriate PAGEREF _Toc367785575 \h 323.8.1 Introduction PAGEREF _Toc367785576 \h 32If you use the SDK, you must comply with the Terms of Use and to ensure that your application complies with applicable laws. Note that when using the SDK, your name and version, the authentication information and an anonymous identifier cross-application automatically sent to every request. PAGEREF _Toc367785577 \h 333.8.2 Audience PAGEREF _Toc367785578 \h 33This documentation is designed for people with iOS development and concepts of object-oriented programming. You should also be familiar with Google Maps from the point of view of the user. PAGEREF _Toc367785579 \h 333.8.3 Google Maps Mobile SDK for Business PAGEREF _Toc367785580 \h 333.8.4 Attribution Requirements PAGEREF _Toc367785581 \h 333.8.5 Supported Platforms PAGEREF _Toc367785582 \h 33The Google Maps SDK supports iOS 6.0 and higher. Applications that use the Google Maps URL scheme, require that the target device has installed for iOS Google Maps. PAGEREF _Toc367785583 \h 343.8.6 Getting the Google Maps SDK for iOS PAGEREF _Toc367785584 \h 34The Google Maps SDK for iOS is available as a zip file contains a static picture distributed. After downloading the SDK, you must get an API key before you can add a tab to the application. PAGEREF _Toc367785585 \h 343.8.7 The Google Maps API Key PAGEREF _Toc367785586 \h 34Using an API key, you can use the maps to monitor the use APIs, and ensures that Google may contact you about your application, if necessary. The key is free, you can use it with any of your applications that use the Google Maps API call, and supports an unlimited number of users. You can get an API key for Google Maps API Console from your bundle identifier of the application. Once you have the key, add it as described in the following section to your AppDelegate. PAGEREF _Toc367785587 \h 343.8.8 Obtaining an API Key PAGEREF _Toc367785588 \h 343.8.9 Adding the Google Maps SDK for iOS to your project PAGEREF _Toc367785589 \h 343.8.10 Upgrade from an earlier version PAGEREF _Toc367785590 \h 353.8.11 Add a Map PAGEREF _Toc367785591 \h 353.8.12 Street View Panoramas PAGEREF _Toc367785592 \h 364.Non-Functional Requirements PAGEREF _Toc367785593 \h 374.1 Application Theme PAGEREF _Toc367785594 \h 374.2 Easy to Use PAGEREF _Toc367785595 \h 374.3 Language PAGEREF _Toc367785596 \h 374.4 Network PAGEREF _Toc367785597 \h 374.5 Data Requirements PAGEREF _Toc367785598 \h 374.6 Quality Attributes / Requirements PAGEREF _Toc367785599 \h 384.6.1 Security PAGEREF _Toc367785600 \h 38There are no security issues regarding content such as database content. Without the working project files no one would be able to get to the data contained. There are no “user” or “admin” rights or issues to consider for this application. All the data contained within the application is to be freely distributed amongst the general population and there is no confidential information to hide or encrypt. Of course the source files for the application will not be distributed to the general public and will only be alterable by the developer. PAGEREF _Toc367785601 \h 384.6.2 Reliability PAGEREF _Toc367785602 \h 384.6.3 Maintainability PAGEREF _Toc367785603 \h 384.6.4 Other Requirements PAGEREF _Toc367785604 \h 385 Operational Scenarios PAGEREF _Toc367785605 \h 385.1 Flow of Operations PAGEREF _Toc367785606 \h 385.2 Use case scenarios PAGEREF _Toc367785607 \h 396 Appendices PAGEREF _Toc367785608 \h 416.1 Entity Relationship Diagrams PAGEREF _Toc367785609 \h 416.2 Acceptance Criteria PAGEREF _Toc367785610 \h 426.3 Declaration: PAGEREF _Toc367785611 \h 446.4 References PAGEREF _Toc367785612 \h 45IntroductionTeam member Team members: E-mail idStudent id Rajashekar donthi rajashekardonthi@ ubs 30106226Nalla Divyanalladivyareddy87@ubs30107395Ren Zhu rzhu1140@ ubs30115339Raja kandasamy Rajapaj@ ubs30102984Sadah Suliman slmsm_sm@ ubs30086830Scope:In this modern, fast moving and insecure world, it is a basic necessity to be aware of one’s safety. Maximum problems occur when a people traveling to a new place. We are developing an application in which it guides the people in traveling, accommodation, and for visiting beautiful locations. The application is a very unique product that has been introduced to the travel information market, though there are some similar application, ours has some unique focuses and functions.The aim of the project it to develop a simple online digital tour guide on Sydney city for the iOS mobile device. This is user friendly and helps the user with all their requirements on a single application. This project is to be developed with the programming language “objective c”. In detail ,the project is to develop a dedicated iOS application for the Sydney city particularly on the happening events, traditional places to visit. This makes the user to explore the culture of Sydney`s history. For using this application, the user can access in locations, navigations, event happening places, special occasions, museums, etc. All the information like weather forecast, live traffic is updated to the user to which place they are heading too.Objective:The main objective of this project is tracking the location of the visitor and guiding the person in traveling and accommodating around the Sydney. The aim of the project it to develop a simple online digital tour guide on Sydney city for the iOS mobile device. This is user friendly and helps the user with all their requirements on a single application.Client:Client can be contacted through an email or by person project supervisor at MIT, university of Balart campus for further help regarding project.Acceptance criteria:Acceptance criteria will enables and ensure the project requirements (functional and non- functional) are clear and correct according to client requirements. The acceptance criteria measure the success of the project. Client signoff:To,Team membersI(client), declares here according to my keen knowledge that project has been developed according my requirements and specifications.Thanking youYours sincerelyClientPurpose of this Document:The main purpose of this document is to outline the functional and performance requirements of the online system management backstage. This is not a document-oriented design, the design is in Software Design Description (SDD) are described. And also the further details can be found in the SPMP(Software Project Management Plan).This task will be accomplished by setting out the functional and non-functional requirements of the proposed system, showing the user interfaces and explaining the documentation requirements.The SRS serves as a contract between the Client and the project team, once completed it will be reviewed by both parties and then signed-off as being official and binding. Any future changes to the SRS must be discussed and agreed upon together by both the project team and the Client.Acronyms and DefinitionsAny acronyms referenced in this document will be listed below:AcronymMeaningApiApplication programming interfaceObjective cProgramming language for the ios app developmentSDDSoftware Design DescriptionSPMPSoftware Project Management PlanSRSSoftware Requirement SpecificationWBSWork Breakdown StructureGUIGraphical User InterfaceIEEEInstitute of Electrical and Electronics EngineersOSOperating SystemIOSApple Operation SystemQAQuality AssuranceReferencesThe following documents are referenced to produce this document:Document NameLocationVersionAuthorSADDTeam Website1.0Development TeamSPMPTeam Website1.0Development TeamExternal References:1. IEEE Standard for Software Requirements Speci?cations (Std 830-1998)2. Sample SRS from UB-Online.3 Other links will be listed in the appendix(6.4) General OverviewThis project is to develop a iOS application on exploring the city Sydney, Australia. This helps its users to explore the classical and traditional places of the city and its surrounding along with the current happening and the artistic occasions in the city. It will update the events on the season basis. This application will also help the users to deliver a tour plan accordingly on their current locations. It also navigate the user to their destination comfortably.User CharacteristicsUser interface requirementsThe user interface must conform to the usability and ease of learning of these conditions, so it must be clean, easy to find with all the information. Validation will be in all fields that require it, used, and context-sensitive help is being implemented to provide support for the user. Product Style RequirementsThere is no requirement for the style of the system. The components and the size of fonts, screen layout, and other features will be decided at the design stage, as the research team what will be the design more user-friendly and accessible to the end user. Customer is important for this, because that is all it is not easy for someone who is not familiar with the system to select.Ease of UseThis application takes advantage of standardized menu structures, which are not only easy to use because of their intuitiveness but also extremely easy for the user to cognitively use and understand.Ease of LearningThe system should be intuitive to use, so that the volunteers familiar with the current paper-based system can easily adapt to ios version. This will be achieved as far as possible, duplicating the current paper-based system. The ideal scenario is that any user with basic computer and features of the Web browser, and is familiar with the current paper-based system will be able to use the system without trainingFunctional Requirements OverviewThe application allows volunteers to search and find out the popular locations or attractions.The system will allow users to:Search placesSearch via browsing mapLogin to facebook account to give commentView recommended restaurantView recommended hotelView recommended attractionsView recommended shopping locationsView recommended itinerariesUse filter to let user select recommendsShow the location on mapGive the direction information for the locationAutomatically update the review of the attractionsFunctional requirements are documented in further detail in - Functional RequirementsData Requirements OverviewThe system saves all the section, competition and profit for the discipline of data recovery from users. It 'also possible to save the system configuration to enable the user pages. All historical data is also stored so that they are accessible, but also to see how the historical data.Constraints, Assumptions, Dependencies, GuidelinesAssumptions / ConstraintsThe resolutions of IOS mobile device is listed belowiPhone3 320x480 163 ppiiPhone4 640×960 326 ppi iPhone4S 640×960 326 ppi iPhone5 640×1136 326 ppi iPad 1024x768 132 ppiiPad2? ? 1024x768 ?132 ppiiPad (3gen)? ?2048x1536 264 ppiiPad (4gen)? ?2048x1536 264 ppiiPad mini 1024x768 163 ppiOur project will focus on the iphone first, and as the most popular iphone on the market is iphone 4/4s, our project will focus on the 640X960 resolution. This means that the images will be very small in size and in some casesDependenciesThe system depends on the leaders with accurate data. If the data in the Guide inaccurate, manual updates are considered necessary by the administrator or any other form of import.GuidelinesThere are no guidelines at this stage.User view of Product UseFrom the user point of view, we will try as much as possible, give the user the best recommendation of all the interesting places in the city. The system stores information about events, competitors and sections, as well as their results.2.6 Reference to industry white paper: RequirementsThe below sections outline the specific requirements of the system. 3.1 Browse for recommend places through menuFunction ID: F1One of the basic function is to let user browse recommend places through menu.Figure 1Figure 2Figure 3Figure 4Figure 53.1.1 DescriptionThis function is made for letting user find out the recommend places in a very quick way. For example, User could see many categorizes of different places, restaurant, hotels, attractions, itineraries, shopping those category in the main menu(Figure 1). Then they can select either one of these go the filter (Figure 2). In the filter screen, they can choose some attributes for the places, like the distance or the prices amount they are looking for. Then they can go and get a list of the locations (Figure 3). In the list, the places will come with its name , distances information and simple price information. If user want to check the detail of any of the places, they can tap and go to the detail page(Figure 4), The page will give all the details about it. Additionally, User can go to map view of the place(Figure 5) to directly find out the location.3.1.2 CriticalityThis function is very important to the application; it’s the basic foundation of the trip guide application. This is a critical function, as most users will know the category of what they want, and the easiest way to find this information is simply by navigating by menu, not by location as the other search allows.3.1.3 Technical IssuesIn order to design this function, we must log all the data into correct form, which require a well-designed database. Then we can input the filter function for searching. One of the hardest part is to find out the location distance based on user’s current location, for doing this, we will use the api supported by google map api. Which will give us the distance of the places and the suggested way to go there.3.1.4 Cost and ScheduleDevelop team has no cost associated with this requirement. Schedule will also be unaffected. But this function will be implemented in the early stage of the project to give time to later test.3.1.5 RisksDevelop has no risks associated with this requirement, unless we run out of time to produce the indicated feature. However we intend to follow our schedule outlined in the Gantt in the SPMP document to reduce the probability of failure. As this is the highest ranked function it will be our main priority and we fully expect to meet this functional objective; otherwise we will consider the project a failure.3.1.6 Dependencies with other requirementsThis functional requirement does not depend on any other. 3.2 Browse places directly by map:Function ID: F2Figure 2.1Figure 2.2Figure 2.33.2.1 DescriptionThis function is made for letting user find out the recommend places in a map view. For example, after the welcome screen, user can see the map menu on the main menu(Figure 2.1). If they tap the map button, it will display the map with some recommend places labled out on the map. (Figue 2.2) Then they can select either one of these and check the detail of any of the places, they can tap and go to the detail page(Figure 2.3), The page will give all the details about it. Additionally, User can go to map view of the place(Figure 5) to directly find out the location. Which is same as last function,3.2.2 CriticalityThis function is very important to the application; it’s one of the basic foundation of the trip guide application. This is a critical function, as most users don’t need to know the category of what they want, and the easiest way to find this information is simply by navigating by map, not by map.3.2.3 Technical IssuesIn order to design this function, we must log all the data into correct form, which require a well-designed database. Then we can input the filter function for searching. One of the hardest part is to find out the location distance based on user’s current location, for doing this, we will use the api supported by google map api. Which will give us the distance of the places and the suggested way to go there.3.2.4 Cost and ScheduleDevelop team has no cost associated with this requirement. Schedule will also be unaffected. But this function will be implemented in the early stage of the project to give time to later test.3.2.5 RisksDevelop has no risks associated with this requirement, unless we run out of time to produce the indicated feature. However we intend to follow our schedule outlined in the Gantt in the SPMP document to reduce the probability of failure. As this is the highest ranked function it will be our main priority and we fully expect to meet this functional objective; otherwise we will consider the project a failure.3.2.6 Dependencies with other requirementsThis functional requirement does not depend on any other. 3.3 Show Popular Places on welcome screenFunction ID: F33.3.1 DescriptionThis function is made for letting user to quickly go to most popular places we recommended in the moments. It should keep updating with time. For example, if it’s around April, then the eastershow will replace some normal classic attraction on the welcome screen. After tapping on the icon, user will go to the detail page to view the details.3.3.2 CriticalityThis function is optional. But it is recommended to be implemented, it could really help user to quickly locate the popular places, and it is also good in adding intuitiveness for the application.3.3.3 Technical IssuesIt got the same technical issues as the direction one and the menu function requirement.3.3.4 Cost and ScheduleDevelop team has no cost associated with this requirement. Schedule will also be unaffected. But this function will be implemented in the early stage of the project to give time to later test.3.3.5 RisksDevelop has no risks associated with this requirement, unless we run out of time to produce the indicated feature. However we intend to follow our schedule outlined in the Gantt in the SPMP document to reduce the probability of failure. 3.3.6 Dependencies with other requirementsThis functional requirement depend on the directional function.3.4 Facebook LoginFunction ID: F43.4.1 DescriptionThis function is made for letting user to login to Facebook account so that they can leave comment on the attraction easily. The comment will come on their timeline with picture and link to the attraction.3.4.2 CriticalityThis function is optional. But it is recommended to be implemented, it could really help user to quickly locate the popular places, and it is also good in adding intuitiveness for the application.3.4.3 Technical IssuesIt needs the development to implement the facebook api in the application. Normally the procedure will be: ask user to give authentication permission to our application and login to their own facebook account, and then the application will has the right to publish the comment on user’s facebook timeline.3.4.4 Cost and ScheduleDevelop team has no cost associated with this requirement. Schedule will also be unaffected. But this function will be implemented in the early stage of the project to give time to later test.3.4.5 RisksDevelop team has no risks associated with this requirement, unless we run out of time to produce the indicated feature. However we intend to follow our schedule outlined in the Gantt in the SPMP document to reduce the probability of failure. 3.4.6 Dependencies with other requirementsThis functional requirement depend on the directional function.3.5 Search places by name or key wordsFunction ID: F53.5.1 DescriptionThis function is made for letting user find out the places by putting some key wards. For example, In the main menu, if user tap the search icon, then the application will go the search page, user can type some key words, and the application will return a list of places. Then the procedure will be same as the last half part of the menu function, user can select the places and go check the detail or direction information.3.5.2 CriticalityThis function is very important to the application; it’s one of the basic foundations of the trip guide application. This is a critical function, as most users will know the keyword of what they want, and the easiest way to find this information is simply by putting the keyword.3.5.3 Technical IssuesIn order to design this function, we must log all the data into correct form, which require a well-designed database. One of the hardest part is to do the search and match keywords.3.5.4 Cost and ScheduleDevelop team has no cost associated with this requirement. Schedule will also be unaffected. But this function will be implemented in the early stage of the project to give time to later test.3.5.5 RisksDevelop team has no risks associated with this requirement, unless we run out of time to produce the indicated feature. However we intend to follow our schedule outlined in the Gantt in the SPMP document to reduce the probability of failure. As this is the highest ranked function it will be our main priority and we fully expect to meet this functional objective; otherwise we will consider the project a failure.3.5.6 Dependencies with other requirementsThis functional requirement does not depend on any other. 3.6 Location FilterFunction ID: F63.6.1 DescriptionThis function is made for letting user select the filter for search all the places by thresholding some places user don’t want. For example, for restaurant, use may just want to find fine dining place without cheap prices, so they can set the filter to get the results they want.3.6.2 CriticalityThis function is very important to the application; it’s one of the basic foundations of the trip gide application. This is a critical function, as most users will know the keyword of what they want, and the easiest way to find this information is simply by putting the keyword.3.6.3 Technical IssuesIn order to design this function, we must log all the data into correct form, which require a well-designed database. One of the hardest part is to do the search and match keywords.3.6.4 Cost and ScheduleDevelop team has no cost associated with this requirement. Schedule will also be unaffected. But this function will be implemented in the early stage of the project to give time to later test.3.6.5 RisksDevelopment team has no risks associated with this requirement, unless we run out of time to produce the indicated feature. However we intend to follow our schedule outlined in the Gantt in the SPMP document to reduce the probability of failure. As this is the highest ranked function it will be our main priority and we fully expect to meet this functional objective; otherwise we will consider the project a failure.3.6.6 Dependencies with other requirementsThis functional requirement does not depend on any other. 3.7 DirectionsFunction ID:F73.7.1 DescriptionThis function is made for showing user how to get to the places they choose. In detail, after user choose the places, it will go to map and show some routes to the places with information about the traffic.3.7.2 CriticalityThis function is very important to the application; it’s one of the basic foundations of the trip guide application. This is a critical function, by using this, user can easily find the way to the places they want.3.7.3 Technical IssuesIn order to design this function, we will use google map api. The Google API is the most helpful data for the application that are about to be developed by our team. This helps the application to acquire the required information’s like WeatherLocation servicesMap directionsRecent searchesRelated search resultsFavourite places3.7.4 Cost and ScheduleDevelop team has no cost associated with this requirement. Schedule will also be unaffected. But this function will be implemented in the early stage of the project to give time to later test.3.7.5 RisksDevelopment team has no risks associated with this requirement, unless we run out of time to produce the indicated feature. However we intend to follow our schedule outlined in the Gantt in the SPMP document to reduce the probability of failure. As this is the highest ranked function it will be our main priority and we fully expect to meet this functional objective; otherwise we will consider the project a failure.3.7.6 Dependencies with other requirementsThis functional requirement does not depend on any other. 3.8 Description of data relevant to system as appropriate3.8.1 IntroductionWith Google Maps SDK for iOS, you can map based on data from Google Maps to your application. The SDK automatically controls access to the server of Google Maps, the map display, and respond to user gestures, such as click and drag. You can also markers, polylines, and overlays of land and info windows to the card. These objects provide additional information for map positions and allow users to interact with the map.If you use the SDK, you must comply with the Terms of Use and to ensure that your application complies with applicable laws. Note that when using the SDK, your name and version, the authentication information and an anonymous identifier cross-application automatically sent to every request.3.8.2 AudienceThis documentation is designed for people with iOS development and concepts of object-oriented programming. You should also be familiar with Google Maps from the point of view of the user.3.8.3 Google Maps Mobile SDK for BusinessThe Google Maps Mobile SDK for Business license provides enhanced capabilities for both the Google Maps SDK for iOS and the Google Maps Android API. If you have purchased a Google Maps Mobile SDK for Business license, please refer to the Google Maps API for Business documentation for additional, supplementary information.3.8.4 Attribution RequirementsIf you use the Google Maps SDK for iOS application, you must include the text assignment as part of a section of legal information in the application. Includes legal information, such as a menu item or as part of an "About" menu item is recommended.You can get the attribution text by creating a call to [GMSServices openSourceLicenseInfo].openSourceLicenseInfo].3.8.5 Supported PlatformsThe development of an application that uses the Google Maps SDK for iOS requires the followingXcode 4.5 or later.iOS SDK 6.0 or later.The Google Maps SDK supports iOS 6.0 and higher. Applications that use the Google Maps URL scheme, require that the target device has installed for iOS Google Maps.3.8.6 Getting the Google Maps SDK for iOSThe Google Maps SDK for iOS is available as a zip file contains a static picture distributed. After downloading the SDK, you must get an API key before you can add a tab to the application.3.8.7 The Google Maps API KeyUsing an API key, you can use the maps to monitor the use APIs, and ensures that Google may contact you about your application, if necessary. The key is free, you can use it with any of your applications that use the Google Maps API call, and supports an unlimited number of users. You can get an API key for Google Maps API Console from your bundle identifier of the application. Once you have the key, add it as described in the following section to your AppDelegate.3.8.8 Obtaining an API KeyA key for your app in the Google APIs Console can be obtained by.Create API project in Google APIs Console.Select the Services pane in your API project, enable the Google Maps SDK for iOS. This displays Google Maps Terms of Service.Select API Access pane in the console, and click the Create new iOS key.Enter one or more of the bundle identifiers as listed in your application's .plist file, such as com.example.myapp.Click Create.In the API Access page, locate section Key for iOS apps (with bundle identifiers) and then note or copy the 40-character API key.You should repeat this process for each of the new application.3.8.9 Adding the Google Maps SDK for iOS to your projectThe Google Maps SDK for iOS is packaged as a static picture, with a package of resources provided. Before you can add a map to your application, you need the frame to the project and configure the build settings in Xcode. These instructions assume an installation for a new project. If you are working with an existing project, you might not need to follow the procedure exactly as described.Launch the Xcode and either open an existing project, or create new project.If you are new to iOS, create a Single View Application, and then disable Use Storyboards but ensure that the Use Automatic Reference Counting is on.Drag the GoogleMaps.framework bundle to Frameworks group of your project. When provoked, select Copy items into destination group's folder.Right-click GoogleMaps.framework in your project, and then select Show In Finder.Drag the GoogleMaps.bundle from Resources folder to your project. We recommend putting it in the Frameworks group. When prompted, ensure Copy items into target group’s folder are not selected.Select your project from Project Navigator, and then choose your application's target.Open the Build Phases tab, and in Link Binary with Libraries, add the subsequent frameworks:AVFoundation.frameworkCoreData.frameworkCoreLocation.frameworkCoreText.frameworkGLKit.frameworkImageIO.frameworklibc++.dyliblibicucore.dyliblibz.dylibOpenGLES.frameworkQuartzCore.frameworkSystemConfiguration.frameworkChoose your project, rather than the specific target, and then open the Build Settings tab.In Other Linker Flags section, add -ObjC. If these settings are not visible, change the filter in Build Settings bar from Basic to All.Finally, add your API key to your AppDelegate.#import <GoogleMaps/GoogleMaps.h>Add following to your application:didFinishLaunchingWithOptions: method, replacing API_KEY with your API key. [GMSServices provideAPIKey:@"API_KEY"];3.8.10 Upgrade from an earlier versionTo upgrade an existing project to the most new version of the SDK, do the subsequent:In the Project Navigator, replace previous framework with the most recent framework.It is optional to make any necessary changes as a result of the upgrade. Necessary changes will be described in the release notes.Project can be cleaned and rebuilt by selecting: Product > Clean and then Product > Build.3.8.11 Add a MapAfter you add the SDK to your project and give you the keys, you can try a card for your application. The following code shows how to add a simple map to an existing view controller. If you are a new app on iOS, follow the installation instructions above, and create a new view single application; disable Terms of Use storyboard but allows you to use automatic reference counting (ARC).Now, add or update a view controller to create some standard methods in your application and initialize an instance GMSMapView.#import "YourViewController.h"#import <GoogleMaps/GoogleMaps.h>@implementation YourViewController {? GMSMapView *mapView_;}// You don't need to modify the default initWithNibName:bundle: method.- (void)loadView {? // Create a GMSCameraPosition that tells the map to display the? // coordinate -33.86,151.20 at zoom level 6.? GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? longitude:151.20? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?zoom:6];? mapView_ = [GMSMapView mapWithFrame:CGRectZero camera:camera];? mapView_.myLocationEnabled = YES;? self.view = mapView_;? // Creates a marker in the center of the map.? GMSMarker *marker = [[GMSMarker alloc] init];? marker.position = CLLocationCoordinate2DMake(-33.86, 151.20);? marker.title = @"Sydney";? marker.snippet = @"Australia";? marker.map = mapView_;}@end3.8.12 Street View PanoramasEach view Street View is an image or group of images, which provides a full 360-degree view of a single location. The images correspond to the projection (Plate Carree) that contains vertical (downward from upward) 360 degree horizontal view (for a complete wrap-around) and 180 degrees. The 360 degree panoramic resultant defines a projection on a sphere wrapped with the image of the two-dimensional surface of this sphere.Street View panoramas are visible to the object GMSPanoramaView. This object provides a viewer that will make the scene as a sphere, with a camera in the middle. You can programmatically control the orientation of the camera, as well as setting various properties of the viewer.REF: Non-Functional Requirements4.1 Application ThemeThe application will use Red(RGB: 212, 75,39) Green(RGB: 23,97,125), Orange(RGB: 247,146,30) as the theme, try to give user a feeling of energy but also with class4.2 Easy to UseA requirement of the system is that it is easy to use. The application should let 1st time user can use it very smoothly, with all the intuitive icon and menu.4.3 Language The application will be written in Australian English.4.4 Network The application will run over a wireless network, which is supplied by the client. 4.5 Data RequirementsBecause the purpose of this application is to store and distribute information, which must store a large amount of data. Below are the data that must be stored by the application.Location: The location for the event will be stored in the application: e.g. Her Majesties Theatre:IdNameAddressPopularityPriceCommentsInformation on application settings, display settings, etc. are also saved. These data will be documented in the SDD. Also refer to section 4.3 for the ER diagram.4.6 Quality Attributes / Requirements4.6.1 SecurityThere are no security issues regarding content such as database content. Without the working project files no one would be able to get to the data contained. There are no “user” or “admin” rights or issues to consider for this application. All the data contained within the application is to be freely distributed amongst the general population and there is no confidential information to hide or encrypt. Of course the source files for the application will not be distributed to the general public and will only be alterable by the developer.4.6.2 ReliabilityThe reliability of the demo-version of the application will be guaranteed because of the fact that all data is hard-coded. As the program will never access a online database the application will always function as intended and the correct screens will be displayed. If a database is implemented in the future then the associated integration will have to be stringently tested..4.6.3 MaintainabilityTo maintain this application there would have to be a new build of the project from where it was previously left. However, rebuilding and updating the project would not be a difficult task with the working files as one golf course would be used as a template to build more. For the full version of this application having a database present would greatly enhance the maintainability.4.6.4 Other RequirementsThere are no other requirements at this time. Any additional requirements will change request form to be raised and follow the procedure described in the document change control process.5 Operational Scenarios5.1 Flow of OperationsThe following diagram represents the flow through the entire application.5.2 Use case scenarios5.2.1 View main Menu1 User start the application2 Wait for the welcome disappear3 View main Menu5.2.2 Browse by menu1 User start the application2 Wait for the welcome disappear3 View main Menu4 Select categories5 Set filters6 View list7 View detail8 Find direction5.2.3 Browse by map1 User start the application2 Wait for the welcome disappear3 View main Menu4 Select map5 View map with all places neayby6 View detail7 Find direction5.2.4 Browse by search1 User start the application2 Wait for the welcome disappear3 View main Menu4 Select search5 type search6 View list7 View detail8 Find direction5.2.5 Set filter1 User start the application2 Wait for the welcome disappear3 View main Menu4 Select categories5 Set filters5.2.6 Login Facebook1 User start the application2 Wait for the welcome disappear3 View main Menu4 Select Facebook Icon5 Login6 Leave Comment for palces5.2.7 Find directions…(omitted selection process)1 View detail2 Find direction5.2.8 View popular places from welcome screen1 User start the application2 Choose popular places by tapping the pictures on the welcome screen6 Appendices6.1 Entity Relationship DiagramsThis part will added later.6.2 Acceptance CriteriaThe requirements agreed to by the customer business requirements (functional and non-functional) must be clear and this will be ensured by the acceptance criteria. The project’s success is measured by them as they are also considered the metrics. Identification and document acceptance criteria and related metrics is the goal of this section for every customer business functional and non-functional requirement6.2.1 Acceptance criteria – Functional RequirementsFUNCTIONALREQUIREMENT #REQUIREMENTacceptance CRITERIA AND ASSOCIATED METRICSFunctional Requirement 1Browse for recommend places through menuFunctional Requirement 2Browse places directly by mapFunctional Requirement 3Show Popular places on welcome screenFunctional Requirement 4Facebook loginFunctional Requirement 5Search places by name or key wordsFunctional Requirement 6Location filterFunctional Requirement 7Direction.6.2.2 Acceptance Criteria – Non-Functional RequirementsBUSINESS NON- FUNCTIONALREQUIREMENT IDREQUIREMENTacceptance CRITERIA AND ASSOCIATED METRICSNon-Functional Requirement 1Application ThemeNon-Functional Requirement 2Easy to UseNon-Functional Requirement 3Language.Non-Functional Requirement 4NetworkNon-Functional Requirement 5Date RequirementsNon-Functional Requirement 6Quality Attributes/ Requirements6.3 Declaration:I have read and understood the project requirements. I hereby agree to the terms of the document.NameSignatureDate signedSadah Suliman------/---------/------Divya Nalla------/---------/------Raja Kandasamy------/---------/------Rajashekar Donti------/---------/------Ren Zhu ------/---------/------6.4 ReferencesIEEE website HYPERLINK "" W. Satzinger, Robert B. Jackson, Stephen D. Burd (2004). System Analysis and Design in a Changing World (3rd ed.), Thomson Cource Technology, Boston, Massachusetts, USA.Ludwig Consulting (2008).Templates and Guidance. Retrieved June 6, 2008, from Government (2008).Requirements Specification Template.RetreivedJune 6, 2008, from , K. (2006). Information technology project management, (4th Ed.). Cambridge, MA: Course Technology.Stephen Cooper (2008).Software Requirements Specification.Retrieved June 6, 2008, from ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download