Module 3 Application Development and Emerging Technologies
Module 3 Application Development and Emerging Technologies
INFORMATION SYSTEMS
COURSE OVERVIEW
Course No.
MODULE GUIDE
In this module, we will continue our exploration in the world of Object-
Oriented Programming (OOP). OOP-based architecture proves to be
beneficial especially when dealing with special types of data which need to
be packaged into one entity. What would you do if you have so much
capability at your hand? Of course, you will use it. This ideology will be
covered in this module together with the principles that surround OOP. Hard
might it be at first, however their important role in OOP’s implementation
will be eviden
PRE-TEST
● What is UML?
LEARNING PLAN
What is UML?
- stands for Unified Modeling Language, and it is a modeling language that is most often
used for software engineering but has extended its use to business processes and other
project workflows. Essentially, UML is visualizing software through diagrams, specifically
one of the thirteen UML diagrams. This modeling language was created by
three software engineers at the company Rational Software for their projects, and it has
become the standard with very few updates over the years.
- is a general-purpose, developmental, modeling language in the field of software
engineering that is intended to provide a standard way to visualize the design of a system.
- was created to forge a common, semantically and syntactically rich visual modeling
language for the architecture, design, and implementation of complex software systems
both structurally and behaviorally. UML has applications beyond software development,
such as process flow in manufacturing.
What is a UML Diagram used for?
A UML diagram is typically used in software engineering and other business processes
where modeling is useful. There are two main ways UML diagrams are used as a part of
these processes:
● Forward design. The modeling and design are all done before coding
the software application. Usually, forward design is used to help developers better see
the system they are trying to create.
● Backward design. The modeling is done after the code has been written, and the UML
diagrams act as documentation for the workflow of the project. This can help developers
see the project development as it was, in reality, to improve in the future.
Whether UML diagrams are used before or after the coding or project, they provide a way
to visualize many aspects of a project and who is responsible for what activity.
UML and its role in object-oriented modeling and design
There are many problem-solving paradigms or models in Computer Science, which is the study of
algorithms and data. There are four problem-solving model categories: imperative, functional,
declarative and object-oriented languages (OOP). In object-oriented languages, algorithms are
expressed by defining ‘objects’ and having the objects interact with each other. Those objects are
things to be manipulated and they exist in the real world. They can be buildings, widgets on a
desktop, or human beings.
Object-oriented languages dominate the programming world because they model real-world
objects. UML is a combination of several object-oriented notations: Object-Oriented Design, Object
Modeling Technique, and Object-Oriented Software Engineering.
UML uses the strengths of these three approaches to present a more consistent methodology
that's easier to use. UML represents best practices for building and documenting different aspects
of software and business system modeling.
● Class diagram.
This is the most common type of documentation diagram for software. The diagram has
three fields where the first one is the class, then its attributes right beneath it, and finally
the behaviors are in the third field. Then different types of lines connect each class to
show the relationships between the classes.
● Object diagram. This diagram is, in a way, a subset of the class diagrams. Object
diagrams display a particular instance of a class. For example, if a class diagram
had the class of “Customers,” the object diagram might have “Customer 1” to show
the attributes and behaviors of that particular customer. These diagrams allow
developers to see if the system they created with a class diagram is viable when
put into practice.
● Composite structure diagram. As another further subset of class diagrams,
composite structure diagrams show the internal structure of a class. Each class is
broken down into its components, and the connecting lines are drawn between
the components to show how each relates and communicates. It’s an extremely
specific diagram, so it’s used less often, especially in a business environment.
● Package diagram.
This type of diagram helps show the big picture by organizing elements of the system into
groups called packages. The packages are then sorted into related groups, and those
groups are connected to show relationships or interaction. Package diagrams help show
complex systems and complex behaviors that might be hard to visualize in detail.
● Component diagram.
It can be difficult to visualize complex systems, but that is what a component diagram is
designed to do. The system is broken down into its components, which communicate with
each other through interfaces. The interfaces are connected to show the path of
component communication. These diagrams provide a bird’s eye overview of a
complex system or process.
● Deployment diagram.
This diagram shows the relationship between software and the physical hardware it’s
deployed through. Deployment diagrams are a physical model of how
each software component (called artifacts) is deployed through its hardware node and the
connections between all of the software and hardware elements. This diagram is typically
only useful for software development because of its focus on hardware.
Behavioral Diagrams
● Activity diagram.
Activity diagrams are some of the most useful diagrams, especially for business processes.
These diagrams show the workflow of a project or operational process, and it can show
the relationship between different activities. The flow between activities can be both
parallel and sequential. The diagram will usually display the materials used, objects
produced by activities, and the relationship between each.
● Interaction overview diagram. While activity diagrams show
the sequence of processes, interaction overview diagrams show the sequence of
object interactions and in the correct order. Arrows are used to show the flow
between the interactions. These are some of the most complex UML diagrams, and
it uses the same annotations as an activity diagram.
● Sequence diagram.
These diagrams give an overview of all of the actors, functions each actor needs to
perform, and how the functions interact within a system. The goal is to visualize the
functions of each actor involved and how all of the actors and functions are related to each
other. Usually, actors are connected to their functions with arrows, and related functions
are connected to each other with different arrows.
● State diagram.
Also known as state chart diagrams, these show the state of a system when it’s acted on by
an external or internal stimulus. The diagram visualizes the many states of a system and
how it could change if certain external or internal events take place and all of the actions
in between.
Static and Dynamic UML Diagrams
Modeling usually involves a static or dynamic model, and sometimes both are used. Some of the
types of UML models are static and some are dynamic, so a developer can use UML for both types
of modeling. Static modeling shows things like classes, objects, interfaces, and the relationships
between these. The class diagrams and object diagrams are both UML types of static modeling.
Dynamic modeling shows the behavior of the static aspects of a system. This type of modeling can
also be used to show a workflow, passage of time, and different states. In this type of modeling,
something will be changing, whereas in static nothing is changing. In UML,
the interaction diagrams, object diagrams, and activity diagrams are ways to use dynamic
modeling.
Internet Sources
13. https://www.qat.com/9-emerging-technologies/
14. https://phoenixnap.com/blog/software-development-life-cycle
15. https://www.conceptdraw.com/How-To-Guide/uml-diagram-types-list
16. https://kissflow.com/low-code/rad/types-of-application-development-methodologies/
#:~:text=Application%20development%20is%20the%20process,by%20a%20single
%20freelance%20developer.&text=Application%20development%20is%20closely
%20linked,life%2Dcycle%20(SDLC).