0% found this document useful (0 votes)
3 views

Module 3 Application Development and Emerging Technologies

The document outlines a course on Application Development and Emerging Technologies, focusing on the Unified Modeling Language (UML) and its application in designing software diagrams. It covers the importance of UML in object-oriented programming, detailing various types of UML diagrams and their uses in visualizing software systems. The course aims to equip students with practical skills in creating application diagrams and understanding the software development life cycle.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Module 3 Application Development and Emerging Technologies

The document outlines a course on Application Development and Emerging Technologies, focusing on the Unified Modeling Language (UML) and its application in designing software diagrams. It covers the importance of UML in object-oriented programming, detailing various types of UML diagrams and their uses in visualizing software systems. The course aims to equip students with practical skills in creating application diagrams and understanding the software development life cycle.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 12

COLLEGE OF COMPUTER

INFORMATION SYSTEMS

IT 308 – APPLICATION DEVELOPMENT


AND EMERGING TECHNOLOGIES

MODULE 2 – UNIFIED MODELING LANGUAGE AND


DIAGRAMS, DESIGNING APPLICATION DIAGRAMS

Dr. Jackelou S. Mapa

MODULE 3 APPLICATION DEVELOPMENT AND EMERGING TECHNOLOGIES


Module One: Application Development and Emerging Technologies

COURSE OVERVIEW
Course No.

Course Code ITCC

Descriptive Title Application Development and Emerging Technologies

Credit Units 3 Units

School Year/Term 2nd Semester, AY: 2024-2025

Mode of Delivery Online and Modular Learning, Simulation, PAPET

Name of Instructor/ JACKELOU S. MAPA


Professor

Course Description In this course the students will be introduced to the


emerging technologies; Understand what are the application
development process, methodologies and software
development life cycle on how they affect in the development
of the application; Design and build basic CRUD and complete
application diagrams using UML’s; Perform and apply their
learnings and knowledge into a complete system or
application.
Course Outcomes Psychomotor (Do)
CO3. Design basic CRUD application diagrams using UML’s.
CO4. Build a complete application diagram using any of the
UML’s.
Affective (Feel)
CO5. Perform any of the UML’s and emerging technologies into
a complete system or application.

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

In the previous module, we discussed the different emerging technologies, software


development life cycle, and methodologies. In the first module we learned what are this emerging
technologies means in application development and what it brings to the community and how it
helps to our modern technology. In the second module we learn the different processes of the
development life cycle, software models, methodologies, and best practices. As a practical skill for
the second module, we have created our own software development life cycle and draw our own
diagram of our development process.
In this module we will talk about the unified modeling language, its importance to the
application development and we will create a basic CRUD to complete application diagram using
any of the UML diagrams.

PRE-TEST

● What is UML?

● What are the types of UML diagrams?

● What is a CRUD application?

LEARNING PLAN

Intended Learning Outcome:


I. Recall the different types of Unified Modeling Language.
II. Demonstrate and apply the knowledge in the previous topics.
III. Acknowledge the importance of development processes and life cycle.
IV. Commit and apply the knowledge from this course into an application.
Introduction
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.
A UML diagram is typically used in software engineering and other business processes
where modeling is useful.
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.

In this course, we will understand and learn the following:


1. What is UML?
2. Types of UML diagrams.
3. Designing application diagrams.

Unified Modeling Language

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.

Types of UML Diagrams


The original UML had nine types of diagram, and the second version raised that to thirteen types
of diagram. Each diagram can be divided into two categories: structural diagrams and behavioral
diagrams. A structural diagram will break down the project by the process or way the project is
set up. A behavioral diagram will break down the project by how the system behaves and how
its components and actors are involved. Here are each of the types of UML diagrams explained.
Structural Diagrams

● 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.

As the same suggests, this diagram shows the sequence of interactions in


a system chronologically during a particular process. All communication between actors
or objects is shown with a variety of connecting lines, and actors don’t need to be active
until another actor communicates with it. Visually these diagrams are structured
vertically with chronological, top-down organization. These diagrams are important for
the development of any kind of application, not just software.
● Communication diagram. These diagrams are similar to sequence diagrams, but
the main focus here is on the communication between objects, not all types
of interaction. Communication diagrams follow a numbering system to show
chronology and arrows to show the flow of messages. On the diagram, the objects
don’t have to be physically close to each other to communicate; they only need to
be included in the numbering and have an arrow connecting them to another
object.
● Timing diagram. If the focus of a project is the timing of events, this diagram is
the best to use. Like a sequence diagram, this shows the sequence of events, but
instead of connecting by a relationship, each event is shown to flow along a linear
axis of time, usually from left to right. The main focus is the duration of time, and
the diagram often shows this with a staircase and arrows displaying the time
constraint.

● Use case 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.

Importance of UML Diagram


UML diagrams can be used as a way to visualize a project before it takes place or as
documentation for a project afterward. But the overall goal of UML diagrams is to allow teams
to visualize how a project is or will be working, and they can be used in any field, not
just software engineering. The diagrams will allow teams to visualize together how
a system or process will work or did work. It can provide new ideas for how the team needs to
collaborate to achieve the goal of the workflow process.
1. Name
REFERENCES

1. Striebig, B., Ogundipe, A. A., & Papadakis, M. (2015). Engineering Applications in


Sustainable Design and Development (1st ed.). Cengage Learning.
2. Price, M. J. (2019). C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development: Build
applications with C#, .NET Core, Entity Framework Core, ASP.NET Core, and ML.NET using
Visual Studio Code, 4th Edition (Illustrated ed.). Packt Publishing.
3. Zhong, X. (2015). Development and Application of Offline Learning System in College
Teaching. International Journal of Emerging Technologies in Learning (IJET), 10(5), 35.
https://doi.org/10.3991/ijet.v10i5.4794
4. M. (2019). Emerging Technologies for Economic Development (Science, Technology and
Innovation Studies) (1st ed. 2019 ed.). Springer.
5. Udell, C., & Woodill, G. (2019). Shock of the New: The Challenge and Promise of Emerging
Learning Technologies. Association for Talent Development.
6. Blokdyk, G. (2019). Software Development Life Cycle SDLC A Complete Guide - 2020
Edition. Emereo Pty Limited.
7. Blokdyk, G. (2021). Application Development Process A Complete Guide - 2019
Edition. 5STARCooks.
8. Langer, A. M. (2016). Guide to Software Development: Designing and Managing the
Life Cycle (2nd ed.). Springer.
9. Percival, H., & Gregory, B. (2020). Architecture Patterns with Python: Enabling Test-
Driven Development, Domain-Driven Design, and Event-Driven Microservices (1st
ed.). O’Reilly Media.
10. Douglass, B. P. (2021). Agile Model-Based Systems Engineering Cookbook: Improve
system development by applying proven recipes for effective agile systems engineering.
Packt Publishing.
11. Muller, G. (2021). System Modeling and Analysis: A Practical Approach. Retrieve from
SystemModelingAndAnalysisBook.pdf (gaudisite.nl)
12. Wasson, C.S. (2006). System Analysis, Design, and Development Concepts, Principles,
and Practices. Retrieve from System Analysis, Design, and Development : Concepts,
Principles, and Practices (zu.edu.jo)

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).

You might also like