You are on page 1of 5

ITEC 116 Final Examination: SpeedyMove Case Study

SpeedyMove applications allows:

- Door-to-door delivery
- Vehicle type you need
- Prices per km depending on vehicle and location

1. Business process model (Block diagram)


2. Enumerate the requirements (applications and tools).

To develop this application I would need to have this following tools and applications;

Visual programming tools - The power of graphical user interfaces and object-orientation has spawned
a number of high-level front-ends or shells to enable non-programmers to generate their own
straightforward applications. These visual programming tools allow for the construction of applications
by selecting, connecting, copying and arranging programming objects. For simple applications, there is
no need for any code to be written at all since all required objects can be copied from a large library
with all commonly used, pre-configured objects and their associated standard methods. (Ex. Eclipse IDE,
Microsoft Visual Studio, etc…)

Eclipse IDE - an object – oriented language in the development of the application. It offered various
features and capabilities for its users. Eclipse IDE is an efficient tool for development of an application
for it can handle application very effectively and that they operate very well under Android mobiles. It
could also handle database programs very effectively and can operate very well under Windows
environment.

Microsoft Visual Studio - an integrated development environment (IDE) created by Microsoft. Computer
programs, which includes websites, mobile apps, web apps and services are developed using Visual
Studio. Development platforms like Microsoft Silverlight, Windows presentation Foundation, Windows
API, Windows Store, and Windows form are the Microsoft software that are being used by Visual Studio.

Android Studio – Android Studio is an Android development Software built by Google. Its
implementation editor is very useful for Android developers. Android studio provides shortcuts for
coding and designing and its layout designer makes it very easy to use, which helps reduce time spent
on coding. Android studio also provides drag and drop features to design the layout of your projects.

Git - a DevOps solution for managing source codes for small and large projects that is free and open-
source. This control system allows multiple developers to work on non-linear development projects by
tracking changes in the source code. Its goals include speed, data integrity, and support for distributed,
non-linear workflows. Developers use this tools to collaborate with each other’s.

SDLC (Software Development Life Cycle) - a process followed for a software project, within a software
organization. It consists of a detailed plan describing how to develop, maintain, replace and alter or
enhance specific software. The life cycle defines a methodology for improving the quality of software
and the overall development process.

Agile Model (SDLC) – an approach to software development under which requirements and solutions
evolve through the collaborative effort of the researchers and end users. It advocates adaptive planning,
evolutionary development, early delivery, and continual improvement, and it encourages rapid and
flexible response to change

Draw.io - a free diagramming application that allows users to create and share diagrams within a web
browser. This tool is use from creating the diagrams including flowcharts, Context Diagram and Data
Flow Diagram that will use for the system planning.
Data Flow Diagrams (DFD) - These diagrams are used to show how data flows between the various
processes in the system. DFD’s are an excellent communication tool as they are simple enough for users
to understand and yet detailed enough to form the basis for the systems design process. A number of
DFD techniques has been developed since the original work was published by Tom De Marco in 1978.
However, they all basically perform the same task. Data flow diagrams are one of the most used and
popular IS charting techniques.

Entity Relationship Diagrams (ERD) - Entity relationship diagrams identify the major objects about
which data is stored and chart their interrelationship. Like most formal techniques, its major value is
that it forces the analyst into a structured and detailed investigation of all the data used in the system.

Others:

- Computer or Laptop with this specifications:


- 64-bit Microsoft® Windows® 8/10.
- X86_64 CPU architecture; 2nd generation Intel Core or newer, or AMD CPU with support
for a Windows Hypervisor.
- 8 GB RAM or more.
- 8 GB of available disk space minimum (IDE + Android SDK + Android Emulator)
- 1280 x 800 minimum screen resolution.

- Smartphone Android OS Version (KITKAT and higher version)

3. Discuss the solutions and techniques

Solutions and Techniques used to develop my system;

Techniques:

Iterative and Incremental Approach - iterative and incremental approach consisting of five main steps
that helps to generate candidate solutions. This candidate solution can further be refined by repeating
these steps and finally create an architecture design that best fits our application. Incremental approach
breaks the software development process down into small, manageable portions known as increments.
Each increment builds on the previous version so that improvements are made step by step.  While
iterative model means software development activities are systematically repeated in cycles known as
iterations. A new version of the software is produced after each iteration until the optimal product is
achieved. Iterative and incremental development models are complementary in nature, which is why
they are often used together to boost their efficacy and achieve project deliverables. The incremental
and iterative development process is integral to the field of Agile software development as it enables
project managers to reap the benefits of both incremental and iterative approaches. Incremental
development ensures that developers can make changes early on in the process rather than waiting
until the end when the allotted time has run out and the money has been spent. Iterative development
means improvements are made on an ongoing basis, so the end result is likely to be delivered on time
and be of higher quality. These are the five main steps:

- Identify Architecture Goal - Identify the architecture goal that forms the architecture and
design process.
- Identify Application Type - Identify application type whether it is a mobile application, a rich
client, a rich internet application, a service, a web application, or some combination of these
types.
- Identify Deployment Constraints - Choose an appropriate deployment topology and resolve
conflicts between the application and the target infrastructure.
- Identify Important Architecture Design Styles - Identify important architecture design styles
such as client/server, layered, message-bus, domain-driven design, etc. to improve
partitioning and promotes design reuse by providing solutions to frequently recurring
problems.
- Identify the Relevant Technologies - Identify the relevant technologies by considering the
type of application we are developing, our preferred options for application deployment
topology and architectural styles.

Solutions:

Prepare - Get the Precise Requirements for the application; Analyse Requirements received for the
Application; Define the Organizational Goals; Define the Possible Organizational Constraints.

Plan - Define the Technical Goals; Compare the Existing Network with the Proposed Network; Identify
the Network, Solution Requirements; Finalize Requirement.

Design - Design Network & Solution Diagram, Checklist & Project Proposal; Send Network, solution
Diagram to Customer for Review; Have an expert to check Network Diagram, Checklist & Proposal,
Order Network Components & other miscellaneous Equipment’s required for the Project.

Implement - Integrate Equipment into the Existing Network, Solution (Without Disrupting the Existing
Network); Test Solution at Customer Site; Implement Solution in Production Environment.

Integrate - integrate between multiple equipment’s.

Operate - Let the employee operate the new Network independent.

Automate – try to eliminate the human mistakes and increase the availability of the systems and ensure
the right procedure is running at the right time.

Optimize - Monitor Network ,Solution For Any Fault; Optimize Network & Solution for Optimum
Performance; Provide required After Sales & Customer Support to Customer; Take Continuous Feedback
From Customer for possibility of any improvements.

Protect - Provide required After Sales & Customer Support.

You might also like