Module 3 Application Development PDF

Document Details

SmoothBongos

Uploaded by SmoothBongos

Southern Luzon State University - College of Computer Studies and Information Technology Main Campus

Tags

UML diagrams object-oriented design application development

Summary

This document is an introductory module to application development and emerging technologies. It describes the Unified Modeling Language (UML) and its different types of diagrams. Furthermore, it explains how UML diagrams are used in software engineering and other business processes with a focus on static and dynamic modeling.

Full Transcript

MODULE 3 APPLICATION DEVELOPMENT AND EMERGING TECHNOLOGIES Module One: Application Development and Emerging Technologies PRE-TEST  What is UML?  What are the types of UML diagrams?  What is CRUD application? LEARNING PLAN Inten...

MODULE 3 APPLICATION DEVELOPMENT AND EMERGING TECHNOLOGIES Module One: Application Development and Emerging Technologies PRE-TEST  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: SLSU-CCSIT Main Campus 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. 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 set SLSU-CCSIT Main Campus 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.  POST TEST 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%20clo sely%20linked,life%2Dcycle%20(SDLC). SLSU-CCSIT Main Campus

Use Quizgecko on...
Browser
Browser