Module 3 - Application Development and Emerging Technologies

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 14

SOUTHERN LEYTE STATE UNIVERSITY

Main Campus, Sogod Southern Leyte

COLLEGE OF COMPUTER STUDIES AND


INFORMATION TECHNOLOGY

IT 308 – APPLICATION DEVELOPMENT


AND EMERGING TECHNOLOGIES

MODULE 2 – UNIFIED MODELING LANGUAGE AND


DIAGRAMS, DESIGNING APPLICATION DIAGRAMS

BENIGNO E. AMBUS JR. / JUDE YMARI P. ANSALE

SLSU-CCSIT Main Campus


MODULE 3 APPLICATION DEVELOPMENT AND EMERGING TECHNOLOGIES
Module One: Application Development and Emerging Technologies

COURSE OVERVIEW

Course No.

Course Code IT 308

Descriptive Title Application Development and Emerging Technologies

Credit Units 3 Units

School Year/Term 2nd Semester, AY: 2021-2022

Mode of Delivery Online and Modular Learning, Simulation, PAPET

Name of Instructor/ Benigno E. Ambus Jr. / Jude Ymari Ansale


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.

SLSU Vision A high quality corporate university of Science, Technology and


Innovation.
SLSU Mission SLSU will: a. Develop Science, Technology and Innovation
leaders and professionals; b. Produce high-impact technologies
from research and innovations; c. Contribute to sustainable
development through responsive community engagement
programs; d. Generate revenues to be self-sufficient and
financially-viable;

SLSU-CCSIT Main Campus


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 tackled about 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.

You can download this module and learning material at:

Classroom: https://classroom.google.com/
3B: https://classroom.google.com/u/1/c/NDYyOTYwNzk1MjQ5 code: sc6buqk
3C: https://classroom.google.com/u/1/c/NDYyOTYwNzk1Nzc3 code: 3om2ovr
3E: https://classroom.google.com/u/1/c/NDYyOTY0ODU5NzM3 code: eq4k6ex
3F: https://classroom.google.com/u/1/c/NDYyOTY2NDU2MzQ4 code: b677mqa
3G: https://classroom.google.com/u/1/c/NDYyOTY2NDU2NzUy code: hnxytvy

Instructor’s Contacts

Email: benj.official0989@gmail.com
Mobile: +639307673736
Messenger: Benigno Entera Ambus

Email: jansale@southernleytestateu.edu.ph
Mobile: +639392644910
Messenger: Jude Ymari Paranas Ansale

CCSIT Hotline: +639120972073

PRE-TEST

SLSU-CCSIT Main Campus


 What is UML?
 What are the types of UML diagrams?
 What is 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

SLSU-CCSIT Main Campus


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.

SLSU-CCSIT Main Campus


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

SLSU-CCSIT Main Campus


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. 

SLSU-CCSIT Main Campus


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.

SLSU-CCSIT Main Campus


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. 

SLSU-CCSIT Main Campus


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.

SLSU-CCSIT Main Campus


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

SLSU-CCSIT Main Campus


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.

ASSESSMENT

SLSU-CCSIT Main Campus


Mid-Term Output
1. Create a basic CRUD application diagram using any of the UML diagrams.

Take Note: This is an individual output, and everyone should not have the same diagram
output. Same output will be mark zero.

Final Term Output

1. Create a complete system application diagram using five of the UML diagrams.

Take Note: This is a group output, and each group should have five output and should not
have the same diagram output. Choose only five of the thirteen UML diagrams. You can use
any software to create your diagram. Every group will have five members only.

Final Project

Create a running application based on any of the UML diagrams you have created for your final
term output. Any system will do as long as you are following your diagram. You can use any of the
programming language as long as it is not console based application. If you have an existing
system, you can utilized and edit it in order to meet the desired output, based on your diagram.

Take Note: This is a group project, you can use your existing group of your final term output.
Every group will have five members only.

 TEST
POST

1. It usually involves a static or dynamic model, and sometimes both are used?
2. What are the two distinct groups of UML diagrams?
3. These diagrams are similar to sequence diagrams, but the main focus here is on the
communication between objects, not all types of interaction?
4. This diagram shows the relationship between software and the physical hardware it’s
deployed through?
5. What is a UML diagram used for?
6. What are the two main ways UML diagrams are used as a part of these processes?
7. This diagram is, in a way, a subset of the class diagrams. Object diagrams display a
particular instance of a class?
8. The modeling is done after the code has been written, and the UML diagrams act as
documentation for the workflow of the project?
9. The modeling and design are all done before coding the software application?
10. It 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?

11. Name
REFERENCES

SLSU-CCSIT Main Campus


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

SLSU-CCSIT Main Campus

You might also like