ANALYSIS AND DESIGN
Transportation is an issue of concern in big cities of many developing countries today. Due to that, we have thought of developing for our final project, an android application for online cab booking. This application is intended for both customers and cab drivers and will be installed on mobile terminals. In this chapter, we are going to see the design of our application by first presenting the development process used for the realization of our application, and then we will present the UML diagrams and highlight those we have used. We will then present the analysis of our system using the diagrams associated with this step and then the creation of the database.
Unified Process (UP)
In this section, we will present the development process used, which is essential for any kind of IT project, and for our application, we have chosen the Unified Process (UP).
A unified process is a software development process built on UML; it is iterative, incremental, architecture-centric, use-case driven, and risk-driven . It is a process pattern that can be adapted to a wide class of software systems, different application domains, different types of companies, different skill levels, and various company sizes. The purpose of the Unified Process is to guide developers towards the implementation and effective deployment of systems that meet customer needs.
Features of UP
- UP is iterative and incremental. The project is broken down into iterations or short steps that allow for better monitoring of overall progress. At the end of each iteration, an executable part of the final system is produced incrementally (by addition). Figure 2.1 illustrates the iteration of UP.
- UP is focused on architecture. Any complex system must be broken down into modular parts in order to facilitate maintenance and evolution. This architecture (functional, logical, hardware, etc.) must be modeled in UML and not only documented in the text. UP is guided by UML use cases. The main purpose of a computer system is to satisfy customer needs. The development process will be accessed on the user. The use case allows us to illustrate these needs. They detect and then describe the functional needs, and together they constitute the use case model that dictates the full functionality of the system.
UP is driven by risks The major risks of the project must be identified as soon as possible, but above all, they must be removed as quickly as possible. The measures to be taken within this framework determine the order of iterations.
Unified Modeling Language (UML)
Before programming the application and starting to write the code, you must organize the ideas, document them, then organize the realization by defining the modules and the stages of the realization. This process, which takes place before writing, is called modeling. Modeling consists of creating a virtual representation of a reality in such a way as to highlight the points of interest. In our project, we used the UML methodology for modeling different diagrams.
« The Unified Modeling Language (UML) is defined as a graphical and textual modeling language for understanding and describing requirements, specifying and documenting systems, sketching software architectures, designing solutions, and communicating viewpoints. UML is a language with a well-defined syntax and rules that try to achieve writing goals through a graphical representation made of diagrams and textual modeling that enriches the graphical representation. » . 2.3.2. List of UML Diagram Types The current UML standards call for 13 different types of diagrams: class, activity, object, use case, sequence, package, state, component, communication, composite structure, interaction overview, timing, and deployment. These diagrams are organized into two distinct groups: structural diagrams and behavioral or interaction diagrams. (see figure 2.2). Structural UML diagrams ● Class diagram. ● Package diagram. ● Object diagram. ● Component diagram. ● Composite structure diagram