Software Architecture and Design
Software Architecture and Design
Design Project
Airport Management System
Dhanraj Jaykumar Patil - 20MIS0447
Arulmozhiarasu M -20MIS0358
Dataflow Diagram:
Level 0:
Level 1:
Level 2:
Class Diagram:
Actors:
Air Traffic Controller: They are responsible for coordinating the movement
of aircrafts to maintain safe distance between them.
Airline Company: Airline company owns the airplanes and is responsible for
the transportation of passengers.
Ground Crew: The Ground crew is responsible for servicing the airplane
when on the ground.
Aircrew: Aircrew also called flight crew is responsible for operating the
aircraft while in flight.
Airport Authorities: Airport authority is an independent entity charged with
the operation and oversight of an airport or group of airports.
Cargo Staff: The cargo staff is responsible for the loading, staging, securing,
and unloading cargo and baggage on airplanes.
Technical Support Staff: Technical Support staff is responsible for executing
the Technical Support strategy and tactics that will improve the customer
experience and build emotional loyalty.
Facility Manager: The facility manager is responsible for the safety of the
airport. He guarantees the airport stays safe and secure by monitoring,
checking, and improving the security systems, video surveillance system,
and other airport equipment constantly.
Fuller mapping:
Use:
Quality:
Efficiency:
Quality criteria:
Modularity:
Airport capacity, expressed as the maximum number of air traffic
movements that can be accommodated during a given period of time
under given conditions, has become a strict constraint to air
transportation, due to the scarce number of resources on the ground and
restrictions in the airspace.
Coupling:
It is a measure of inter module connectivity and is concerned with identifying
the forms of connection that exist between modules and the strength of these
connections.
The coupling that are very important are:
1. Data coupling
The feature of this module is that module A and module B communicates by
parameter or data item that have no control element.
Each airport has its own central database that stores and updates all
necessary data regarding daily flights, seasonal schedules, available
resources, and other flight-related information, like billing data and flight
fees.
This database is connected to the rest of the airport modules: airport
information systems, revenue management systems, and air traffic
management. The system can supply different information for different
segments of users: passengers, airport staff, crew, or members of specific
departments, authorities, business partners, or police
2. Control coupling:
Airside operations comprise control and facilitation of aircraft handling and
parking. This includes air traffic control equipment and management
solutions for air navigation. Most airside solutions are oriented toward
aeronautics and plane allocation.
Ground control
o Ground control is responsible for directing all ground traffic in
designated "movement areas", except the traffic on runways. This
includes planes, baggage trains, snowplows, grass cutters, fuel
trucks, stair trucks, airline food trucks, conveyor belt vehicles and
other vehicles.
o Ground Control will instruct these vehicles on which taxiways to
use, which runway they will use (in the case of planes), where they
will park, and when it is safe to cross runways. When a plane is
ready to takeoff it will be turned over to tower control. Conversely,
after a plane has landed it will depart the runway and be "handed
over" from Tower to Ground Control.
Tower control
o Tower control is responsible for aircraft on the runway and in
the controlled airspace immediately surrounding the airport. Tower
controllers may use radar to locate an aircraft's position in 3D
space, or they may rely on pilot position reports and visual
observation.
o They coordinate the sequencing of aircraft in the traffic pattern and
direct aircraft on how to safely join and leave the circuit. Aircraft
which are only passing through the airspace must also contact
tower control to be sure they remain clear of other traffic.
3. Common coupling:
This common coupling also allows space for characterizing the advantages
and disadvantages involved in the process.
Although the common use model is implemented at airports, airlines have a
high stake in the changes as well. Changes may affect all facets of airport
operations including lease structures and software applications
Advantages
High Speed
Fast Service
High Standard of Security
Natural Route
Disadvantages
Risky
Cost
Capacity for Small Carriage
Enormous investment
Cognitive dimensions:
The five cognitive dimensions which can be used to this system are:
Viscosity: Viscosity means the steps a user should take to reach their goal.
Higher the viscosity more the steps taken to reach their goal. The viscosity
of this system will be as low as possible so that the user can reach their goal
faster.
Visibility: Visibility is a measure of how easily users can locate the elements
necessary to accomplish their goals. The user interface (UI) of the system
will be simple so that the user can locate the button and all other elements
quickly with ease.
Hidden Dependencies: There are several hidden dependencies in certain
parts of the system which are not hidden, for example, the assigning of pilots
to a plane depends on the attendance of the pilots.
Consistency: Consistent patterns allow users to recognize familiar symbols
as they move through a system. The user interface (UI) of our system will be
consistent so that the usability of the system is not compromised also
prevents mental load.
Premature Commitment: The system will be committed towards its smooth
and efficient functioning and security of sensitive data, for example: login
passwords, phone numbers, addresses of employees and passengers, bank
details, etc.
COHESION:
Cohesion, in its turn, provides a measure of the extent to which the components of
a module can be considered to be ‘functionally related’. The ideal module is one in
which all the components can be considered as being solely present for one
purpose.
1. Functional-HIGH
All the elements contribute to the execution of a single problem
related task.
2. Sequential-Quite HIGH
The output from one module forms the input for another module. This
is cohesion is used in airport to sort and store the data and to display the
data of the airlines to passengers.
3. Communicational-Fairly
Two elements operate on the same input data or contribute towards
the same output data. This can be used when the airport and the passengers
want to access the airline information.
4. Procedural-Not very
Elements of procedural cohesion ensure the order of execution.
Actions are still weakly connected and unlikely to be reusable. This is useful
to give details to the airlines about their total number of passengers and free
seat information.
5. Temporal Cohesion-Not very
The elements involve operations that are related by the time at which
they occur, usually being linked to some event such as ‘system initialization’
6. Logical-Definitely not
The element performs operations that are logically similar but
involves very different actions internally
7. Coincidental-Definitely not
The elements are not linked by any conceptual link. Such modules
may be created to avoid having to repeat coding task.
It is a method of system development that covers the software life cycle either
directly or by providing a framework into which more specialized techniques can
fit. JSD can start from the stage in a project when there is only a general statement
of requirements.
1. Modelling Phase:
In the modelling phase of JSD the designer creates a collection of entity
structure diagrams and identifies the entities in the system, the actions
they perform, the attributes of the actions and time ordering of the actions
in the life of the entities.
2. Specification Phase:
This phase focuses on actually what is to be done. Previous phase
provides the basic for this phase. An sufficient model of a time-ordered
world must itself be time-ordered. Major goal is to map progress in the
real world on progress in the system that models it.
3. Implementation Phase:
In the implementation phase JSD determines how to obtain the required
functionality. Implementation way of the system is based on
transformation of specification into efficient set of processes. The
processes involved in it should be designed in such a manner that it
would be possible to run them on available software and hardware.
JSD Steps:
Initially there were six steps when it was originally presented by Jackson, they
were as below:
1. Entity/action step
2. Initial model step
3. Interactive function step
4. Information function step
5. System timing step
6. System implementation step
Later some steps were combined to create method with only three steps:
1. Modelling Step
2. Network Step
3. Implementation Step
Merits of JSD:
Demerits of JSD:
It is a poor methodology for high level analysis and data base design.
JSD is a complex methodology due to pseudo code representation.
It is less graphically oriented as compared to SA/SD or OMT.
It is a bit complex and difficult to understand.
Layered Architecture:
In some layered systems, inner layers are hidden from all except the adjacent outer
layer, except for certain functions carefully selected for export. Thus, in these
systems, the components implement a virtual machine at some layer in the
hierarchy.
The connectors are defined by the protocols that determine how the layers will
interact. Topological constraints include limiting interactions to adjacent layers.
Layered systems have several desirable properties.
First, they support design based on increasing levels of abstraction. This allows
implementors to partition a complex problem into a sequence of incremental steps.
Second, they support enhancement. Like pipelines, because each layer interacts
with at most the layers below and above, changes to the function of one layer
affect at most two other layers.
Third, they support reuse. Like abstract data types, different implementations of
the same layer can be used interchangeably, provided they support the same
interfaces to their adjacent layers. This leads to the possibility of defining standard
layer interfaces to which different implementors can build.
This is particularly true for standardized layered models. One notes that the
communications community has had some difficulty mapping existing protocols
into the ISO framework: many of those protocols bridge several layers