













































































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
1 / 85
This page cannot be seen from the preview
Don't miss anything!














































































SDD Version 4.0 ii ARC SGT SDD>
System Design Document List of Figures
System Design Document List of Tables
The project was funded through a Veterans Transportation and Community Living Initiative (VTCLI) grant of the Federal Transportation Administration (FTA) as part of their “One-Click/One-Call” initiative. Launched on March 2015, Simply Get There became the first comprehensive online trip planner for HST populations in the Atlanta region. 1.1 Purpose of the System Design Document (SDD) The SDD documents and tracks the necessary information required to effectively define architecture and system design in order to give the development team guidance on the architecture of the system to be developed. Design documents are incrementally and iteratively produced during the system development life cycle, based on the particular circumstances of the information technology (IT) project and the system development methodology used for developing the system. Cambridge Systematics is the original developer of the current solution. The intent of the solution was to provide a “one call one click” solution. This was not achieved in the initial implementation. The initial vision of the Regional Mobility One-click software application was to link multiple existing call centers to one centralized database with a multi-functional web interface. This concept would maximize staff resources and make transportation information accessible to a wider range of consumers. Transportation resources would be available to the general public and to participating call center operators. Call center staff would have access to a secure client component of the application to register consumers and assist them in accessing/scheduling services. The system would provide an interface for existing client and transportation resource databases from ESP and atltransit.org. The proposed solution will simply add additional features and functionality to the existing solution to meet the original scope and vision of the Regional Mobility One Click Software application. These features will extend SFT to be a real and integrated one call – one click mobility management solution. Key points that relate to the design and architecture of the proposed system.
1.3.2 Design Constraints The proposed solution will utilize the current architecture and system design of the current solution. The current solution is hosted in an industry leading application hosting and data center. Performance, storage, security, and access can be easily scaled using to meet the minimal amount of additional resources the proposed solution will require. This will be a financial constraint that must be considered. Financial The largest design constraint for the implementation of the project is financial. The full implementation of the project could be financially significant. ARC intends to implement a phased approach to manage this constraint. Technical The development and integration of the new software components into the existing open source software application is a major constraint. Specifc skills and technical understanding of mobility management and demand response management and optimization will be required. This knowledge and skillset is very specific and narrow. Detailed business requirements and use cases will assist in minimizing this challenge. Transportation coordination and trip sharing will be a major technical consideration. The proposed system must support regional coordination features and provide the ability to integrate trip data into other scheduling and dispatching systems. The coordination function must allow for easy integration and provide open published API’s. Due to the fact that the application is currently hosted and managed by ARC staff, we do not envision any technical computer hardware, network, internet, or database maintenance challenges. Institutional The proposed system will be utilized by multiple third party agencies and organizations. This will require coordination and collaboration across the region. Stakeholders that currently have automated scheduling systems may have to integrate into the proposed system via a “reginonal trip coordination” API or comparable solution. 1.3.3 Future Contingencies The current application has multiple third party dependencies. These third party dependencies are mission critical to the application. Failures or service stoppage severely impacts the applications capabilities.
The fixed route trip planning functionality utilizes Open Trip Planner (OTP). If OTP becomes unavailable or the service stops, SGT will fail. Google Maps would be a viable alternative for trip planning functionality. OTP is open source which would allow ARC to maintain the service themselves. This would require a minimal level of effort to maintain and manage.
The current application incorporates demand response data from an in-house custom application – ESP. ESP is maintained and managed by the Aging Resources staff and utilize the system for information and referral. SGT is dependent on the transportation provider database. If not available, an alternative source would need to be developed, purchased, or integrated. This would be a major effort and not a good alternative. The risk of ESP becoming unavailable is minimized. ARC owns and manages this application directly. Due to the lack of major architectural and system design changes associated with the proposed solution, contingency risks are very minimal. 1.3.4 Document Organization This document completely describes the system at the architecture level, including subsystems and their services, hardware mapping, data management, access control, global software control structure, and boundary conditions. The document is organized into nine major sections. Each section provides detailed sub-sections relevant to the major section. Charts, tables, and graphics have been inserted to explain or clarify content.
SGT was designed to meet the transportation needs of human service transportation clients such as Veterans, military families, elderly, disabled, other transportation disadvantaged. SGT is a trip planning system designed to meet the transportation needs of human service clients including veterans, military families, elderly, disabled and other transportation disadvantaged groups. It: ▪ Provides unified trip planning for public, private and volunteer services; ▪ Works on computers, tablets, and smartphones; ▪ Is tailored to an individuals’ trip planning needs; and ▪ Empowers call center staff to deliver improved services. Veterans and their families are often in need of transportation services to enable them to attend medical appointments, receive physical therapy or mental health counseling, seek jobs or education, and access various veterans and related community services. Some veterans and family members have disabilities – mental, physical, or developmental – that exacerbate the challenge of obtaining these services. Numerous other populations experience similar challenges, including the elderly, transit-dependent populations, and other nonveterans with disabilities. SGT enables these target populations to quickly and easily identify the most appropriate options for making a particular trip, evaluating and identifying options that include fixed-route transit, demand- responsive transit (DRT), taxi and other private transportation services, paratransit, volunteer transportation service networks, carpools, and vanpools. 1-Click also provides call center or social service agency staff with a single, centralized source of this information to use on behalf of their clients. SGT tailors trip plan options to the needs, preferences, and schedules of each individual, based on factors such as Medicaid eligibility, veterans’ transportation eligibility (which depends on Veteran status and trip purpose), age, physical mobility limitations, and other preferences regarding tradeoffs of time, cost, and convenience. SGT also stores data that can be used to generate a variety of reports on system usage, mobility impacts, trips planned and made, and unmet transportation needs. 2.2.1 Proposed Solution - Statement of Need The current solution does not provide call center operational support nor does it provide the ability to coordinate other regional call centers and transportation resources. The solution must be extended to support these functional needs. The proposed system will dramatically improve call center operations, regional coordination, and, most importantly, the customer experience. Customers will be able to plan and reserve transportation online. Transportation providers will be able to connect to the one click system in real time to schedule the trip. Operations will have the ability to assign trips and to monitor performance in real time. Automated scheduling and routing will be available to optimize transportation resources. Automate dispatching tools will be available to the call center and to providers. This will create a single coordinated system for HST and demand response transportation. Transportation Network Companies (TNC) will also be integrated into the solution for a true multi-modal application. Transportation data analytics will be available at a regional level. Ultimately, the proposed system will execute the intended vision and requirements of a “one click” mobility management solution. 2.3 Stakeholder Roles/Responsibilities/Concerns System design can cross many different groups within an organization to ensure requirements are gathered and met for all stakeholders. As such, the roles and responsibilities section may be necessary to provide the team with clarification on who performs various roles. This section also serves as a list of points of contact for the team and stakeholders should issues and concerns arise which need to be addressed.
The following table provides the role and contact information for the key technical and project stakeholders associated with the system design. Table 1 : Project members contact information Name Role Email Mary Blumberg Executive Sponsor mblumberg@atlantaregional .com Cynthia Burke Project Manager [email protected] Leslie Caceda Application Owner [email protected] Ray Randolph IT Director [email protected] Tim Quinn Technical Lead [email protected] Carly Harper Business Consultant [email protected] 2.3.1 Roles SGT is designed to serve the needs of many different types of users, with features and functions appropriate for each one: ▪ Travelers are individuals in need of transportation services. Registered Travelers have a user account and travel profile, while anonymous Travelers do not have an account and can use the system without logging in. ▪ Buddies are friends, family members, or other caregivers who assist Travelers in creating trip plans and managing account settings. ▪ Agents are customer service representatives who assist Travelers in creating trip plans and managing account settings.
Project management responsibilities include delivering every project on time within budget and scope. Project managers should have a background in business skills, management, budgeting and analysis. Responsibilities:
UI designer is responsible for creating intuitive user experiences. The ideal candidate should have an eye for clean and artful design, possess superior UI skills and be able to translate high-level requirements into interaction flows and artifacts, and transform them into beautiful, intuitive, and functional user interfaces. Responsibilities
Responsible for initial design and development of new software or extensive software revisions; products may be for use internally or for resale. Defines product requirements and creates high-level architectural specifications, ensuring feasibility, functionality, and integration with existing systems/platforms. Requires a bachelor's degree and may be expected to have an advanced degree in area of specialty and at least 7 years of experience in the field or in a related area.
The software engineer builds high-quality, innovative and fully performing software in compliance with coding standards and technical design. Software engineer responsibilities will include development, writing code, and documenting functionality.
QA engineer responsibilities include designing and implementing tests, debugging and defining corrective actions. You will also review system requirements and track quality assurance metrics (e.g. defect densities and open defect counts.) Responsibilities
The major design considerations for the proposed extended features are related to system performance and scalability of the solution. Data center is hosted in AWS which provides a tremendous amount of flexibility in terms of scaling the performance. Processor speed, memory, peripherals, and stakeholder support will be factored in the design. 2.5 Goals and Guidelines The following goals must be addressed in the execution of the proposed solution.
The proposed solution must leverage the current architecture and system design used by current solution. This minimizes negative impacts on usability, user experience, and financials. The proposed solution will simply extend the current application to support additional features, functionality, and use cases.
The application development environment must remain consistent. This minimizes negative impacts to interoperability and quality. ARC does not wish to re-write or re-engineer the existing application unless absolutely necessary.
The new features must be easy to use and provide a strong user experience. New features cannot impact existing functionality from a user perspective.
The proposed features must be extensible. Features can be enabled as needed or required by the users.
Regional coordination support is a key driver of the project. The application must be API centric and support an open and published API architecture.
The application and underlying architecture must be a REST framework. 2.6 Operational Environment ▪ Ruby on Rails Development ▪ Git Version Control ▪ Github Repository ▪ PostgreSQL Database ▪ Apache Web Server ▪ NGINX Server Functional goals of the proposed system includes:
2.7 Development Methods & Contingencies The basics of a good architecture is to layer the application into multiple autocratic and autonomous applications that can be replaced individually and allow us to keep the application running while we are working on a specific layer. The communication between each layer should be a RESTful API call with JSON content. Scalability Ensure that the architecture can be scaled horizontally, across multiple servers and across multiple regions. That means that once your traffic goes up, you should be able to add and remove new servers as the solution requires. Availability The architecture should support a high availability environment. Infrastructure redundancy is required. This ensures the solution is available if multiple servers or an entire data center fail. The current availaibility of the solution per the hosting providers service level agreement is 99.999% availability. Security Solution architecture should expose only the minimal amount of code possible. Most of the back-end pieces should be hidden away. In addition to that, security of each system should be multi-layered. Extensibility Architecture must be able to swap out modules, change layers, and add pieces to the application without having to worry about the underlying data contracts in place. Separation of responsibility System should be modular enough that each piece of code has a set of responsibilities and not more. The back-end should not create front end code nor should the front-end code include business logic. RESTful Framework The reason for a RESTful API is plain and simple flexibility. Framework does not want to be tied or dependent on a specific programming language and architecture (Java or C#). Architecture needs to be able to replace each layer independently and even use different languages that might be better suited for a certain layer. 2.8 Architectural Strategies The Cloud trend is one of the most disruptive and challenging forces impacting customers’ applications and infrastructure, requiring new business models and new architecture decisions, which impact how organizations deploy, manage, maintain, and protect and manage their data. Amazon Web Services offers multiple options for provisioning IT infrastructure and the deployment of web-based applications. The deployment model varies from customer to customer. Below are the key strategies associated with this model.
In a non-cloud environment: (i) infrastructure assets require manually configured, (ii) capacity requires manual tracking, (iii) capacity predictions are based on the guess of a theoretical maximum peak, and (iv) deployment can take weeks. Within the cloud, these building blocks that represent the Infrastructure are not only provisioned as required, following actual demand and allowing pay-as-you-go, but can also be programmed and addressed by code. This greatly enhances flexibility for both Production/Dev/Test environments as well as Disaster Recovery scenarios. Resources can be provisioned as temporary, disposable units, freeing users from the inflexibility and constraints of a fixed and finite IT infrastructure.