Jonathan Popp EKU CSC 440 Assignment #2 October 28, DFD vs. OO

Size: px
Start display at page:

Download "Jonathan Popp EKU CSC 440 Assignment #2 October 28, DFD vs. OO"

Transcription

1 Jonathan Popp EKU CSC 440 Assignment #2 October 28, 2010 DFD vs. OO In Software Engineering different methods are used when developing a software system. Different methods operations can have substantial benefits in the effectiveness and efficiency of a specific Software s Development. Two particular methods of focus when detailing Software Engineering are Data Flow Diagram and Object Oriented. Each contains a decent quantity of similarities and differences which allow their utilizations to produce varied results in the structure of a product s design. The variances between these two methods come in their input and output of each phase in a Software Engineering Process Model, such as the Waterfall Model. By analyzing the distinctions of each method it helps one better understand the most beneficial model to employ and what is required in using each method. The Waterfall Model is a Process Model in Software Engineering that helps a person or team of software developers categorize the software process into unique phases for better organization. The Waterfall Model most commonly contains five phases that guide a project from beginning to end. It should be noted that the Waterfall Model is not often used in the Software Industry due to its impracticability. Often Software Customers will want to monitor the progress of their product and due to its structure, the Waterfall Process Model does not show actual product results until about 60-65% through a software s development. It is also imperative that a Developer has a complete list of Requirements and Constraints from the Customer before the project commences. This makes any changes to the Software System very difficult to implement as they could drastically alter the Design and Coding phases. Apart from its deficiencies, the Waterfall Model is a good theoretical Model because it helps to clarify and organize the process of how successful software can be developed. The Waterfall Model s phases are clearly defined in their nature. See Figure 1 to observe an illustrated diagram of the Waterfall Model. The model begins with the Requirement Analysis phase. This phase is implemented to acquire the Requirements and Constraints from a Customer or User, so that a plan can be assembled. Formal definitions of the Requirements are contractually written to better achieve understanding of the desired Software System. The next phase is the Design phase. This phase is crucial to the subsequent phases. Detailed diagrams and charts are constructed to guide the Coding process that follows. These diagrams can represent everything from functions to flows of data. Following Design comes the Implementation phase. This phase is where a person or team of programmers will actually write the necessary programming code in the specific languages to formulate the Software System. After Coding is 1

2 complete, it is important to create trials for the operating software, thus the Verification phase. Different methods of testing are implemented to correct any errors or problems that might exist in the Software code. The final phase is the Maintenance phase where a Software System goes into production and is updated with new versions or patches to fix any problems that ensue. Each of the phases work together to produce the Software s Life Cycle. Figure 1 (commons.wikimedia.org) The first method that can properly implement the different phases of the Waterfall Model is the Object Oriented Method. This method employs a specific type of Diagramming Language called UML, or Unified Modeling Language. This unique set of terms and symbols helps organize a design structure that is easy to follow and one that illustrates many aspects of a Software s behavior. Current UML schemes can consist of up to 13 different diagrams. Each diagram allows the consideration of different points of view as well as levels of abstraction (Niewiadomski, Wojciech, Maciej 2009). The second method that can also be used to execute Waterfall Model phases is the Data Flow Diagram Method. This method uses its own unique symbols and terms to demonstrate Software actions. Both have similarities and differences in each phase of the Process Model. In the Requirement Analysis phase, the Object Oriented Method obtains Customer defined Requirements as its input. This can include constraints, behavior, I/O, timing, performance, and any additional specifications made by the Customer. The Software Engineer must then formally define these Requirements into objectives or functions that the Software can perform. Each requirement can have multiple levels of performing constraints. These formal definitions must be written in clear and well-stated terms so that the Customer can grasp fullwell the capability of the Engineer and the Development team for producing the desired results. These formal definitions serve as the output of OO in the Requirement Analysis phase. These definitions can then be mapped directly in successive phases. Similarly to Object Oriented Methods, the Data Flow Diagram Method strives to achieve comparable input and output in this first Waterfall Model phase. The DFD Method is engineered to transform the requests of a Customer into the formal definitions that can be contractually 2

3 transcribed. The Customer s list of controls, along with the necessary functionality of the Software System, establishes the composition of the DFD Requirement Analysis inputs. The output created consists of a formally definitive inventory of the functional requirements that the System must perform. The Requirement Analysis of OO and DFD will look comparative if not identical. Both take into consideration the Functional, Non-Functional, and Domain Requirements imposed on the Software System. The Second phase of the Waterfall Model, the Design phase, is the most differentiating phase between the two methods. The OO method begins by mapping the contents of the Functional Analysis Requirements as inputs from the first phase into Diagrams that can easily illustrate the System Functionality. Every Diagram in OO is derived from its unique UML. The first Diagram one might find would be the Use Case Diagram. This diagram often illustrates a User/Actor, or Stick-figure, with Data Flow, Pointing arrows, often acting upon certain cases. Cases are demonstrated by an oval contained neatly within a System. It is important to note that each Case should represent exactly one of the Functional Requirements. Figure 2 below illustrates a Use Case Diagram example. Figure 2 (resource.visual-paradigm.com) Another Diagram that is often generated as output in the OO method is the Domain/Class Diagram. The objective of this diagram is to illustrate the many classes that the Software System is comprised of and how they relate to each other. The Classes are represented by Rectangles that hold the information of attributes and operations that the class can execute. The Class relationships are Arrows with different shape pointing heads that represent how the Classes interact with each other. Figure 3 below illustrates a Domain/Class Diagram. This Diagram is one of the most important of all the UML because it shows the interrelationships within the entire Software System. It also demonstrates which specific attributes are contained in each Class as well as the functions that they use to manipulate data. This diagram can contain anywhere from a few to a few hundred different Classes and Relationships. Keeping this Diagram well organized is crucial. 3

4 Figure 3 (developer.symbian.org) A Diagram that illustrates the different steps performed by the System in execution is the Sequence Diagram. There can be multiple Sequence Diagrams in a Software s Design because each Diagram endeavors to display the Sequence of Events for just one System Function. The Diagram is composed of specific classes, shown by a Rectangle containing a Life-line. It then pictures the function calls operated by the different Classes to generate the necessary inputs and outputs of the System Function. Figure 4 below shows one specific Sequence Diagram. Figure 4 (argouml-stats.tigris.org) Similar to the Sequence Diagram is the Activity Diagram. This Diagram organizes the different Functions of specific Classes and their Flows of data into what resembles a standard Flow Chart. The Functions are separated into Swim Lanes which represent the containment within a Class. Like a Flow Chart the use of Decision Diamonds are prevalent and symbols called Join and Fork, which are solid horizontal bars, represents special cases of data flow in relation to multiple Functions. As with the Sequence Diagrams, there are multiple Activity Diagrams to show a different point of view for each System Functionality. Figure 5 below represents a single Activity Diagram. Figure 5 (argouml-users.net) 4

5 The Last Diagram commonly generated for output in the Design phase is the State Diagram. This Diagram exemplifies the different statuses of the Software System. As the System performs certain operations it s state changes. The States are shown as Rounded Rectangles and the transitions from state to state are show as Arrows. The Diagram also displays certain inputs and outputs necessary as well as any conditions to provoke a transitional change between states. Unlike the previous Diagrams, most UML Designs only consist of one State Diagram. This is because it represents the overall Software System s behavior and interaction within itself. Figure 6 below is a State Diagram for a Vending Machine System. initial state Getting Money do/ check money valid money not valid press return button Returning Money reset sale [input = price] Getting Drink Selection do/ check Availability press drink button Dispense Drink [if owed] Dispense Change reset sale display message Sold Out Figure 6 (Property of Jonathan Popp) There are many other UML Diagrams such as Package, Component, Deployment, Object, etc. but these are a few of the more commonly used. Any UML Diagram is considered output in the Design phase. Together all of these Diagrams represent the view points of the Software System from many perspectives and help to better clarify the Software s behavior. The Classes, Functions, and Attributes created in the Design phase can and should directly correlate to those created in actual programming code. It is practical to asses that the more detailed a Design phase is, the easier and more coherent the programming will be in the next phase of the Process Model. The Second Method, DFD, also creates Diagrams, however its output is completely different in design. The first type of Design chart that is created by this method is actually called a Data Flow Diagram. It is commonly accepted that there are two types of DFDs. Logical DFDs illustrate System Activites, while Physical DFDs focus on the who, where, and how of the System (Romney, Steinbart 2005). The purpose of this diagram is to show a complete layout of a Software System s Processes and their relationships with each other as well as additional External Entities. The External Entities represent the User of the Software System and they are symbolized by a Rectangle. The processes themselves are rounded Shapes that are numbered and titled to identify what actions they perform. The Data Flow between these entities and processes is shown as an Arrow. There are also Data Stores, which are open ended Rectangles that represent Database Storage that the processes need to access. The DFDs have multiple diagrams with the objective of decomposing the complexity of the Software System into levels. Each level of DFD shows the inner workings, or sub-processes, within a larger process. The digrams are at their highest level when each process only performs one function. Figure 7 5

6 shows an example of a simple DFD for one level, most likely the second, of a Library Software System. Figure 7 (itsmeeashok.blogspot.com) After DFDs are created, provided they demonstrate the greatest simplicity, another diagram can be constructed. Using the input of the DFDs and the Functional Requirements of phase one, the Structure Chart is produced. Unlike the DFD, there is typically only one Structure Chart for a Software System. This Diagram takes every sub-process or function of the DFD and illustrates how processes call other subsequent processes and pass their data. By utilizing different levels of processes, it helps to define the order or timing that an action is executed in a System. This Diagram also strives to identify what the outcome of the overall system is, or by showing what process or processes are called to conclude operation. The basic design of a Structure Chart only involves a Rectangle and a connecting Line. Sometimes when processes are called in a decision instance, a Deciding entity is needed to pass the resulting data back to the calling process. Each module of the Chart should only represent one function conducted by the System. Figure 8 shows an example of a Structure Chart. Figure 8 (it.toolbox.com) Lastly, as part of the DFD Method, Data Store Designs are created to clarify Database composure. A Data Store Design is comprised of the analysis of how and where data flows in and out of the Database. It also focuses on the individual attributes of a Database table and endeavors to eliminate redundancy in Database Records. It utilizes the practice of Normal Forms by studying attribute dependency for both key and non-key attributes in a table. It is critical to properly design a Data Store to achieve maximum efficiency and ensure stability in 6

7 maintaining important data records. If a Database is improperly constructed it could negatively affect the integrity of the processes and their operations, thereby jeopardizing the functionality of the entire Software System. Often Software Engineering Firms will have a Database Administrator on the team that specializes in superior Database Design. Following the Design phase and the output of various categories of diagrams the Implementation phase can commence. This phase of the Waterfall Model is quite similar for both methods of Software Development. The only major difference is the input that enters this phase. Depending on the chosen method in the Design phase, the input charts will either follow from the UML set or from a DFD perspective. Both are beneficial in many ways to the coding process. The programmers responsibility is to choose a specific language or languages and implement the Software System code following the guidelines provided by the Design Diagrams. The output should theoretically be well structured, efficient, and compatible Software Code. The extensive detail of the Design phase should provide naming conventions for specific, functions, variables, and other objects. The flow of control and data passing is also represented in the Diagrams and should be easily transferrable into System code. Because the Waterfall Model is being employed, we know that at the end of this phase the project is now somewhere near 65% completed. Once the completed Software Code is finished, a pivotal phase, Verification begins. No Software System should be released without extensive testing to ensure the System s stability and to discover any errors that might occur. This phase is also necessary to identify if the Software satisfies all of the Requirements defined by the Customer in phase one. The Code itself poses as the input while the desired output of this phase is analytical data recorded and observed through vigorous trials and experiments conducted on the System. There are many ways to test a Software System and both OO and DFD use similar practices to perform these tasks. The first type of testing that is often conducted is Black Box Testing. This category of Verification is concerned with the overall input and output of the Software System. The details of the System including programming code is concealed and of no concern in this testing protocol. This kind of testing helps to ensure that the overall System is performing as expected and that its generated output is consistent with predicted outcomes. This testing also studies how varying the inputs affect the outputs and what inputs can cause an erroneous output. The second type of testing is White Box Testing. Unlike its counterpart, White Box Testing is primarily concerned with the details of the Software System including code, data passing, data storage, algorithm efficiency, as well as System performance. One method of White Box Testing is to follow a defined variable in the code and study its data assignments throughout the duration of the code. This is then repeated for every variable in the System to ensure stability and efficiency. Both OO and DFD use these principles in testing. White Box and Black Box Testing are crucial in exhaustively testing a successful Software System. 7

8 The last phase of the Waterfall Model is the Maintenance phase. This is a phase that is often forgot about and rarely focused on in Software Development, however it is just as an important part, if not more so, than any other phase. This phase encompasses the majority of a Software s Life Cycle. Often after a Software s release, patches, fixes, updates, and changes need to be implemented so that the System continues to function despite changes to external software components. It is also possible that not every possibility for error is discovered in the Verification phase, thus through exhaustive regular use errors could arise. A responsible Software Engineering firm will continue to monitor the System s stability and aid in any way to extinguish said errors upon their occurrence. This phase, like the previous two, uses DFD and OO in the same way. Now that the Waterfall Model phases are complete, the benefits and disadvantages of both DFD and OO methods should be evident. In general, instead of using functional decomposition of the Software System, as DFD does, the OO Method tries to identify objects and their activities (Wang 1996). Most of the differences occur in the Design phase. Through the use of UML, the Object Oriented method shows more perspectives than its rival. The DFD Method has more benefit in illustrating how the entire system is constructed by decomposing to show process on multiple levels. The DFD levels are usually more detailed then the UML equivalent charts. DFD s Structure Chart is more beneficial in illustrating the data flow and call controls of the individual modules of the System. The UML State Diagram is very beneficial for demonstrating the different modes a System can conduct and what causes their transition. This is something that DFD lacks. Another major disadvantage of DFD, compared to OO, is that it fails to specify attributes in its Diagrams. The UML Domain/Class Diagram names and specifies not only attributes, but operations of each Class and its relationships to other Classes. This OO benefit is quite time saving when in the Implementation phase because all of the naming conventions are already established. In terms of Data Storage, DFD incorporates this into their DFD Diagrams and shows process interaction with the individual Data Storage, which is something that OO UML diagrams do not often focus on. Overall, both methods are used to achieve the same results. Both can be beneficial in the Software Engineering Process. By analyzing the different operations conducted by both methods in the various phases of the Waterfall Model, one can see that the major differences are in Designing the Software System. Though, each carries its own advantages and disadvantages, their selection depends on the type of Software System and its design. It is not impractical to combine methods and generate both types of Diagrams to create an even further complex Design phase. In fact, some researchers are considering their grouping in three different ways: convert DFD to OO, convert OO to DFD, or use the combination of both. This is especially beneficial in Embedded Systems (Fernandes, Lilius, Truscan 2005). Other Researchers have worked to create a new model called the Object Function Model to reassign roles in both methods and combine them to form new diagrams (Wang, Cheng 2000). This will only confirm the generalization that the more detailed the Design, the easier and faster it is to implement. 8

9 Works Cited Fernandes, João M., Johan Lilius, and Dragos Truscan. "Integration of DFDs into a UML-based Model-driven Engineering Approach." Software & Systems Modeling 5.4 (2006): Academic Search Premier. EBSCO. Web. 24 Oct Niewiadomski, Artur, Wojciech Penczek, and Maciej Szreter. "A New Approach to Model Checking of UML State Machines." Fundamenta Informaticae 93.1/3 (2009): Academic Search Premier. EBSCO. Web. 20 Oct Romney, M., and P. Steinbart Accounting Information Systems. Upper Saddle River, NJ: Pearson Education, Inc. Wang, Shouhong. "Two MIS analysis methods: An experimental comparison." Journal of Education for Business 71.3 (1996): 136. Academic Search Premier. EBSCO. Web. 26 Oct Wang, Enoch Y., and Betty H. C. Cheng. "Formalizing the Functional Model Within Object- Oriented Design." International Journal of Software Engineering & Knowledge Engineering 10.1 (2000): 5. Academic Search Premier. EBSCO. Web. 26 Oct Image Sources: Waterfall Process Model: commons.wikimedia.org Use Case Diagram: resource.visual-paradigm.com Domain/Class Diagram: developer.symbian.org Sequence Diagram: argouml-stats.tigris.org Activity Diagram: argouml-users.net DFD: itsmeeashok.blogspot.com Structure Chart: it.toolbox.com 9

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin Chapter 10 Object-Oriented Analysis and Modeling Using the UML McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives 10-2 Define object modeling and explain

More information

Software Service Engineering

Software Service Engineering Software Service Engineering Lecture 4: Unified Modeling Language Doctor Guangyu Gao Some contents and notes selected from Fowler, M. UML Distilled, 3rd edition. Addison-Wesley Unified Modeling Language

More information

Introduction to Software Engineering

Introduction to Software Engineering Introduction to Software Engineering Gérald Monard Ecole GDR CORREL - April 16, 2013 www.monard.info Bibliography Software Engineering, 9th ed. (I. Sommerville, 2010, Pearson) Conduite de projets informatiques,

More information

System Analysis & design

System Analysis & design Assiut University Faculty of Computers and Information System Analysis & design Year 2 Academic Year 2014/ 2015 Term (2) 5 A PICTURE IS WORTH A 1,000 WORDS A process model is a graphical way of representing

More information

Practical UML - A Hands-On Introduction for Developers

Practical UML - A Hands-On Introduction for Developers Practical UML - A Hands-On Introduction for Developers By: Randy Miller (http://gp.codegear.com/authors/edit/661.aspx) Abstract: This tutorial provides a quick introduction to the Unified Modeling Language

More information

Software Development. Designing Software

Software Development. Designing Software Software Development Designing Software Modules Modular programming is a software design technique that emphasizes separating the functionality of a program into independent, interchangeable modules, such

More information

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh SOFTWARE DESIGN COSC 4353 / 6353 Dr. Raj Singh UML - History 2 The Unified Modeling Language (UML) is a general purpose modeling language designed to provide a standard way to visualize the design of a

More information

Comparison Study of Software Testing Methods and Levels- A Review

Comparison Study of Software Testing Methods and Levels- A Review Comparison Study of Software Testing Methods and Levels- A Review Deepti Kapila Grover M.Tech, Dept. of Computer Science, Assistant professor in LCET, Katani Kalan, India ABSTRACT: Software is an activity

More information

Design and UML Class Diagrams

Design and UML Class Diagrams Design and UML Class Diagrams 1 Suggested reading: Practical UML: A hands on introduction for developers http://dn.codegear.com/article/31863 UML DistilledCh. 3, by M. Fowler How do people draw / write

More information

CSE 403: Software Engineering, Spring courses.cs.washington.edu/courses/cse403/15sp/ UML Class Diagrams. Emina Torlak

CSE 403: Software Engineering, Spring courses.cs.washington.edu/courses/cse403/15sp/ UML Class Diagrams. Emina Torlak CSE 403: Software Engineering, Spring 2015 courses.cs.washington.edu/courses/cse403/15sp/ UML Class Diagrams Emina Torlak emina@cs.washington.edu Outline Designing classes Overview of UML UML class diagrams

More information

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee Chapter 4 Capturing the Requirements Shari L. Pfleeger Joanne M. Atlee 4th Edition It is important to have standard notations for modeling, documenting, and communicating decisions Modeling helps us to

More information

Practical UML : A Hands-On Introduction for Developers

Practical UML : A Hands-On Introduction for Developers Borland.com Borland Developer Network Borland Support Center Borland University Worldwide Sites Login My Account Help Search Practical UML : A Hands-On Introduction for Developers - by Randy Miller Rating:

More information

ASSIGNMENT- I Topic: Functional Modeling, System Design, Object Design. Submitted by, Roll Numbers:-49-70

ASSIGNMENT- I Topic: Functional Modeling, System Design, Object Design. Submitted by, Roll Numbers:-49-70 ASSIGNMENT- I Topic: Functional Modeling, System Design, Object Design Submitted by, Roll Numbers:-49-70 Functional Models The functional model specifies the results of a computation without specifying

More information

UML- a Brief Look UML and the Process

UML- a Brief Look UML and the Process UML- a Brief Look UML grew out of great variety of ways Design and develop object-oriented models and designs By mid 1990s Number of credible approaches reduced to three Work further developed and refined

More information

Chapter 3 System Models

Chapter 3 System Models March 16, 2009 Introduction Graphical models aid in requirements and development Introduction Graphical models aid in requirements and development Different perspectives are possible: external: context

More information

Big Mathematical Ideas and Understandings

Big Mathematical Ideas and Understandings Big Mathematical Ideas and Understandings A Big Idea is a statement of an idea that is central to the learning of mathematics, one that links numerous mathematical understandings into a coherent whole.

More information

Houghton Mifflin MATHEMATICS Level 1 correlated to NCTM Standard

Houghton Mifflin MATHEMATICS Level 1 correlated to NCTM Standard Number and Operations Standard Understand numbers, ways of representing numbers, relationships among numbers, and number systems count with understanding and recognize TE: 191A 195B, 191 195, 201B, 201

More information

Chapter 1: Principles of Programming and Software Engineering

Chapter 1: Principles of Programming and Software Engineering Chapter 1: Principles of Programming and Software Engineering Data Abstraction & Problem Solving with C++ Fifth Edition by Frank M. Carrano Software Engineering and Object-Oriented Design Coding without

More information

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science Lesson 11 INTRODUCING UML W.C.Udwela Department of Mathematics & Computer Science Why we model? Central part of all the activities We build model to Communicate Visualize and control Better understand

More information

Fundamentals of Health Workflow Process Analysis and Redesign

Fundamentals of Health Workflow Process Analysis and Redesign Fundamentals of Health Workflow Process Analysis and Redesign Unit 10.3d Process Mapping Gane-Sarson Notation Slide 1 Welcome to the Gane-Sarson Notation for Data Flow Diagrams Subunit. This is the third

More information

CSC Advanced Object Oriented Programming, Spring Overview

CSC Advanced Object Oriented Programming, Spring Overview CSC 520 - Advanced Object Oriented Programming, Spring 2018 Overview Brief History 1960: Simula first object oriented language developed by researchers at the Norwegian Computing Center. 1970: Alan Kay

More information

1: Software Development and.net. An approach to building software

1: Software Development and.net. An approach to building software 1: Software Development and.net An approach to building software Overview Programming in software development Life-Cycles for software development Object-orientation and modelling Requirements analysis

More information

AN ONTOLOGICAL EVALUATION OF JACKSON'S SYSTEM DEVELOPMENT MODEL. Fiona Rohde. Department of Commerce The University of Queensland, 4072.

AN ONTOLOGICAL EVALUATION OF JACKSON'S SYSTEM DEVELOPMENT MODEL. Fiona Rohde. Department of Commerce The University of Queensland, 4072. AN ONTOLOGICAL EVALUATION OF JACKSON'S SYSTEM DEVELOPMENT MODEL Fiona Rohde Department of Commerce The University of Queensland, 4072. Australia ABSTRACT Within the discipline of information systems, numerous

More information

UNIT-4 Behavioral Diagrams

UNIT-4 Behavioral Diagrams UNIT-4 Behavioral Diagrams P. P. Mahale Behavioral Diagrams Use Case Diagram high-level behaviors of the system, user goals, external entities: actors Sequence Diagram focus on time ordering of messages

More information

Slide 1 Welcome to Fundamentals of Health Workflow Process Analysis and Redesign: Process Mapping: Gane-Sarson Notation. This is Lecture d.

Slide 1 Welcome to Fundamentals of Health Workflow Process Analysis and Redesign: Process Mapping: Gane-Sarson Notation. This is Lecture d. WORKFLOW ANALYSIS Audio Transcript Component 10 Unit 3 Lecture D Fundamentals of Health Workflow Process Analysis & Redesign Interpreting and Creating Process Diagrams Process Mapping Gane-Sarson Notation

More information

Chapter 2 Overview of the Design Methodology

Chapter 2 Overview of the Design Methodology Chapter 2 Overview of the Design Methodology This chapter presents an overview of the design methodology which is developed in this thesis, by identifying global abstraction levels at which a distributed

More information

Process Modeling. Chapter 7. Class 05: Process Modeling 1

Process Modeling. Chapter 7. Class 05: Process Modeling 1 Process Modeling Chapter 7 Class 05: Process Modeling 1 Process Design Seldom the responsibility of the database designer or DBA However, understanding the basics aids communication with the process designers

More information

Process Modeling. Business Process Example. Process Design

Process Modeling. Business Process Example. Process Design Process Modeling Chapter 7 Class 05: Process Modeling 1 Process Design Seldom the responsibility of the database designer or DBA However, understanding the basics aids communication with the process designers

More information

UML Component Diagrams A.Y 2018/2019

UML Component Diagrams A.Y 2018/2019 UML Component Diagrams A.Y 2018/2019 Component diagrams Component diagrams are integral to building your software system. Drawn out with UML diagramming software, they help your team understand the structure

More information

Topic: 1-One to Five

Topic: 1-One to Five Mathematics Curriculum Kindergarten Suggested Blocks of Instruction: 12 days /September Topic: 1-One to Five Know number names and the count sequence. K.CC.3. Write numbers from 0 to 20. Represent a number

More information

Learning outcomes. On successful completion of this unit you will: 1. Understand data models and database technologies.

Learning outcomes. On successful completion of this unit you will: 1. Understand data models and database technologies. 2015-2016 Phil Smith Learning outcomes On successful completion of this unit you will: 1. Understand data models and database technologies. (Assignment 1) Recap and setting the scene Before we get to Normalisation

More information

Structured and Object Oriented Analysis and Design

Structured and Object Oriented Analysis and Design RAMRAO ADIK INSTITUTE OF TECHNOLOGY, NERUL Department of Computer Engineering Lab Manual Structured and Object Oriented Analysis and Design 2015-2016 List of Experiments Subject: Structured and object

More information

Business Process Modelling

Business Process Modelling CS565 - Business Process & Workflow Management Systems Business Process Modelling CS 565 - Lecture 2 20/2/17 1 Business Process Lifecycle Enactment: Operation Monitoring Maintenance Evaluation: Process

More information

The Analysis and Proposed Modifications to ISO/IEC Software Engineering Software Quality Requirements and Evaluation Quality Requirements

The Analysis and Proposed Modifications to ISO/IEC Software Engineering Software Quality Requirements and Evaluation Quality Requirements Journal of Software Engineering and Applications, 2016, 9, 112-127 Published Online April 2016 in SciRes. http://www.scirp.org/journal/jsea http://dx.doi.org/10.4236/jsea.2016.94010 The Analysis and Proposed

More information

Department of Industrial Engineering. Sharif University of Technology

Department of Industrial Engineering. Sharif University of Technology Department of Industrial Engineering Sharif University of Technology Session #15 Instructor Omid Fatahi Valilai, Ph.D. Industrial Engineering Department, Sharif University of Technology Email: Fvalilai@sharif.edu,

More information

Incremental development A.Y. 2018/2019

Incremental development A.Y. 2018/2019 Incremental development A.Y. 2018/2019 Incremental development Interleaves the activities of specification, development, and validation. The system is developed as a series of versions (increments), with

More information

(C) 2010 Pearson Education, Inc. All rights reserved. Dr. Marenglen Biba

(C) 2010 Pearson Education, Inc. All rights reserved. Dr. Marenglen Biba Dr. Marenglen Biba In Chapters 12 13, you design and implement an object-oriented automated teller machine (ATM) software system. Concise, carefully paced, complete design and implementation experience.

More information

Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur

Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur Lecture 06 Object-Oriented Analysis and Design Welcome

More information

2 Software life span models

2 Software life span models 2 Software life span models Stages through which software goes, from conception to death Stages may be very different Software = product stages are similar to the stages in the life span of other products

More information

Chapter 6 Structuring System Requirements: Process Modeling 6.1

Chapter 6 Structuring System Requirements: Process Modeling 6.1 Chapter 6 Structuring System Requirements: Process Modeling 6.1 Learning Objectives Explain process modeling Discuss data-flow diagramming mechanics, definitions, and rules Discuss balancing data-flow

More information

MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.

MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question. Exam Name MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question. 1) A process has a: 1) A) pronoun label B) noun phrase label C) verb phrase label D) adjective

More information

UML Tutorial. Unified Modeling Language UML Tutorial

UML Tutorial. Unified Modeling Language UML Tutorial UML Tutorial Unified Modeling Language UML Tutorial A Unified Modeling Language is a language for specifying, constructing, visualizing and documenting the software system and its components. UML is a

More information

Unified Modeling Language (UML)

Unified Modeling Language (UML) Unified Modeling Language (UML) Troy Mockenhaupt Chi-Hang ( Alex) Lin Pejman ( PJ ) Yedidsion Overview Definition History Behavior Diagrams Interaction Diagrams Structural Diagrams Tools Effect on Software

More information

Computer Science 520/620 Spring 2013 Prof. L. Osterweil" Use Cases" Software Models and Representations" Part 4" More, and Multiple Models"

Computer Science 520/620 Spring 2013 Prof. L. Osterweil Use Cases Software Models and Representations Part 4 More, and Multiple Models Computer Science 520/620 Spring 2013 Prof. L. Osterweil Software Models and Representations Part 4 More, and Multiple Models Use Cases Specify actors and how they interact with various component parts

More information

Computer Science 520/620 Spring 2013 Prof. L. Osterweil" Software Models and Representations" Part 4" More, and Multiple Models" Use Cases"

Computer Science 520/620 Spring 2013 Prof. L. Osterweil Software Models and Representations Part 4 More, and Multiple Models Use Cases Computer Science 520/620 Spring 2013 Prof. L. Osterweil Software Models and Representations Part 4 More, and Multiple Models Use Cases Specify actors and how they interact with various component parts

More information

SEEM4570 System Design and Implementation Lecture 11 UML

SEEM4570 System Design and Implementation Lecture 11 UML SEEM4570 System Design and Implementation Lecture 11 UML Introduction In the previous lecture, we talked about software development life cycle in a conceptual level E.g. we need to write documents, diagrams,

More information

1. i. What are the 3 major components of a information system and show their relationship input output

1. i. What are the 3 major components of a information system and show their relationship input output Higher National Diploma in Information Technology First Year, Second semesterexamination-2011 IT2005: System Analysis and Design Answer Script No. of pages: 11 1. i. What are the 3 major components of

More information

Unit 6 - Software Design and Development LESSON 10 DESIGN TOOLS, INPUTS, OUTPUTS, STORYBOARDS

Unit 6 - Software Design and Development LESSON 10 DESIGN TOOLS, INPUTS, OUTPUTS, STORYBOARDS Unit 6 - Software Design and Development LESSON 10 DESIGN TOOLS, INPUTS, OUTPUTS, STORYBOARDS Previously Key features of programming languages Software Development Lifecycle Using tools to demonstrate

More information

Data mining overview. Data Mining. Data mining overview. Data mining overview. Data mining overview. Data mining overview 3/24/2014

Data mining overview. Data Mining. Data mining overview. Data mining overview. Data mining overview. Data mining overview 3/24/2014 Data Mining Data mining processes What technological infrastructure is required? Data mining is a system of searching through large amounts of data for patterns. It is a relatively new concept which is

More information

Object-Oriented Systems Analysis and Design Using UML

Object-Oriented Systems Analysis and Design Using UML 10 Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design, 8e Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall Learning Objectives Understand

More information

California Standard Study Island Topic Common Core Standard

California Standard Study Island Topic Common Core Standard State: CA Subject: Math Grade Level: 4 California Standard Study Island Topic Standard NUMBER SENSE 1.0: Students understand the place value of whole numbers and decimals to two decimal places and how

More information

Requirements Specification

Requirements Specification Redesign of the Software Engineering Site (R.O.S.E.S.) Requested by: Dr. Timoth Lederman Professor Department of Computer Science Siena College Delivered By: Prepared By: Kurt Greiner Daniel Rotondo Ryan

More information

CHAPTER 9 DESIGN ENGINEERING. Overview

CHAPTER 9 DESIGN ENGINEERING. Overview CHAPTER 9 DESIGN ENGINEERING Overview A software design is a meaningful engineering representation of some software product that is to be built. Designers must strive to acquire a repertoire of alternative

More information

CS504-Softwere Engineering -1 Solved Objective Midterm Papers For Preparation of Midterm Exam

CS504-Softwere Engineering -1 Solved Objective Midterm Papers For Preparation of Midterm Exam CS504-Softwere Engineering -1 Solved Objective Midterm Papers For Preparation of Midterm Exam MIDTERM EXAMINATION 2010 Question No: 1 ( Marks: 1 ) - Please choose one By following modern system engineering

More information

Software Engineering Lab Manual

Software Engineering Lab Manual Kingdom of Saudi Arabia Ministry Education Prince Sattam Bin Abdulaziz University College of Computer Engineering and Sciences Department of Computer Science Software Engineering Lab Manual 1 Background:-

More information

Lecture 3: Some Strange Properties of Fractal Curves

Lecture 3: Some Strange Properties of Fractal Curves Lecture 3: Some Strange Properties of Fractal Curves I have been a stranger in a strange land. Exodus 2:22 1. Fractal Strangeness Fractals have a look and feel that is very different from ordinary curves.

More information

Notation Part 1. Object Orientated Analysis and Design. Benjamin Kenwright

Notation Part 1. Object Orientated Analysis and Design. Benjamin Kenwright Notation Part 1 Object Orientated Analysis and Design Benjamin Kenwright Version Control Example Team Princess 3 Members 3 Github Users e.g., Elva1997, michelle0924hhx, KimJaeHwang Each user can join and

More information

IEC Why the IEC standard was developed, The languages and concepts defined in the standard, How to obtain further information

IEC Why the IEC standard was developed, The languages and concepts defined in the standard, How to obtain further information IEC61131-3 This article gives a brief overview the PLC Software IEC1131-3 (also referred to as through this document by its full title IEC61131-3) and covers the following: Why the IEC 61131-3 standard

More information

Presenter: Dong hyun Park

Presenter: Dong hyun Park Presenter: 200412325 Dong hyun Park Design as a life cycle activity bonds the requirements to construction Process of breaking down the system into components, defining interfaces and defining components

More information

The Dynamic Model. An Introduction to UML. Enterprise Architect. by Geoffrey Sparks. All material (c) Geoffrey Sparks

The Dynamic Model. An Introduction to UML. Enterprise Architect. by Geoffrey Sparks. All material (c) Geoffrey Sparks An Introduction to UML The Dynamic Model by Geoffrey Sparks All material (c) Geoffrey Sparks 2001 www.sparxsystems.com.au Geoffrey Sparks 2001 Page:1 Table of Contents THE DYNAMIC MODEL... 3 INTRODUCTION

More information

Visualizing IT at the Department of Homeland Security with the ArchiMate Visual Modeling Language

Visualizing IT at the Department of Homeland Security with the ArchiMate Visual Modeling Language Visualizing IT at the Department of Homeland Security with the ArchiMate Visual Modeling Language By Iver Band Overview Department of Homeland Security (DHS) Chief Information Officer (CIO) Luke McCormack

More information

Requirement Analysis

Requirement Analysis Requirement Analysis Requirements Analysis & Specification Objective: determine what the system must do to solve the problem (without describing how) Done by Analyst (also called Requirements Analyst)

More information

SOFTWARE ENGINEERING. Lecture 6. By: Latifa ALrashed. Networks and Communication Department

SOFTWARE ENGINEERING. Lecture 6. By: Latifa ALrashed. Networks and Communication Department 1 SOFTWARE ENGINEERING Networks and Communication Department Lecture 6 By: Latifa ALrashed Outline q q q q q q q q Define the concept of the software life cycle in software engineering. Identify the system

More information

Database Optimization

Database Optimization Database Optimization June 9 2009 A brief overview of database optimization techniques for the database developer. Database optimization techniques include RDBMS query execution strategies, cost estimation,

More information

Chapter : Analysis Modeling

Chapter : Analysis Modeling Chapter : Analysis Modeling Requirements Analysis Requirements analysis Specifies software s operational characteristics Indicates software's interface with other system elements Establishes constraints

More information

Sample Exam. Advanced Test Automation - Engineer

Sample Exam. Advanced Test Automation - Engineer Sample Exam Advanced Test Automation - Engineer Questions ASTQB Created - 2018 American Software Testing Qualifications Board Copyright Notice This document may be copied in its entirety, or extracts made,

More information

Session 2b: structured specifications Purpose and criteria Structured specification components Introduction to dataflow diagrams

Session 2b: structured specifications Purpose and criteria Structured specification components Introduction to dataflow diagrams Session 2b: structured specifications Purpose and criteria Structured specification components Introduction to dataflow diagrams COMP 320 / 420, Spring, 2018 Conrad Weisert Criteria for the ESD (from session

More information

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD Slides by: Shree Jaswal What is UML? 2 It is a standard graphical language for modeling object oriented software. It was developed in mid 90 s by collaborative

More information

Unified Modeling Language (UML) Class Diagram

Unified Modeling Language (UML) Class Diagram 1 / 10 Unified Modeling Language (UML) Class Diagram Miaoqing Huang University of Arkansas Spring 2010 2 / 10 Outline 1 2 3 / 10 Class Diagram Class diagrams show the static structure of the classes that

More information

CT41 (ALCCS) SOFTWARE ENGINEERING JUN 2015

CT41 (ALCCS) SOFTWARE ENGINEERING JUN 2015 Q.1 a. What is the role of software engineering? (4) Role of software engineering with reference to producing good quality software, maintainable software, and on time within budget. b. Differentiate between

More information

APPENDIX M INTRODUCTION TO THE UML

APPENDIX M INTRODUCTION TO THE UML M INTRODUCTION TO THE UML This appendix, written only for those readers not familiar with the topic, provides a brief introduction, which cannot be considered as exhaustive, to the UML. The UML is a general-purpose

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2002 Vol. 1, no. 4, September-October 2002 Requirements Engineering Donald G. Firesmith, Firesmith

More information

4 Software models. often more than what people can handle not necessary to know all details at all times

4 Software models. often more than what people can handle not necessary to know all details at all times 4 Software models Software is complex often more than what people can handle not necessary to know all details at all times Models offer simplified view concentrate on the important issues and omit the

More information

1: Specifying Requirements with Use Case Diagrams

1: Specifying Requirements with Use Case Diagrams Outline UML Design Supplement 1: Specifying Requirements with Use Case Diagrams Introduction Use Case Diagrams Writing Use Cases Guidelines for Effective Use Cases Slide adapted from Eran Toch s lecture

More information

THE RELATIONAL DATABASE MODEL

THE RELATIONAL DATABASE MODEL THE RELATIONAL DATABASE MODEL Introduction to relational DB Basic Objects of relational model Properties of relation Representation of ER model to relation Keys Relational Integrity Rules Functional Dependencies

More information

26. Object-Oriented Design. Java. Summer 2008 Instructor: Dr. Masoud Yaghini

26. Object-Oriented Design. Java. Summer 2008 Instructor: Dr. Masoud Yaghini 26. Object-Oriented Design Java Summer 2008 Instructor: Dr. Masoud Yaghini Object-Oriented Design In the preceding chapters you learned the concepts of object-oriented programming, such as objects, classes,

More information

Object Oriented Programming

Object Oriented Programming Binnur Kurt kurt@ce.itu.edu.tr Istanbul Technical University Computer Engineering Department 1 Version 0.1.2 About the Lecturer BSc İTÜ, Computer Engineering Department, 1995 MSc İTÜ, Computer Engineering

More information

IMS1002/CSE1205 Lectures 1

IMS1002/CSE1205 Lectures 1 IMS1002/CSE1205 Systems Analysis and Design Lecture 2 & 3 Introduction to Data Modelling Entity Relationship Modelling Data Modelling Focus on the information aspects of the organisation In a database

More information

Speed and Accuracy using Four Boolean Query Systems

Speed and Accuracy using Four Boolean Query Systems From:MAICS-99 Proceedings. Copyright 1999, AAAI (www.aaai.org). All rights reserved. Speed and Accuracy using Four Boolean Query Systems Michael Chui Computer Science Department and Cognitive Science Program

More information

Introducing the UML Eng. Mohammed T. Abo Alroos

Introducing the UML Eng. Mohammed T. Abo Alroos Introducing the UML Eng. Mohammed T. Abo Alroos Islamic University of Gaza Introduction to the UML: The UML stands for Unified Modeling Language. It was released in 1997 as a method to diagram software

More information

Software Development Chapter 1

Software Development Chapter 1 Software Development Chapter 1 1. Introduction Software Applications are increasingly used to tackle problems that concern everyday life : Automatic Bank tellers Airline reservation systems Air traffic

More information

Object-Oriented Systems Development: Using the Unified Modeling Language

Object-Oriented Systems Development: Using the Unified Modeling Language Object-Oriented Systems Development: Using the Unified Modeling Language Chapter 5: Unified Modeling Language Goals Modeling. Unified modeling language. Class diagram. Use case diagram. Interaction diagrams.

More information

The Open Group SOA Ontology Technical Standard. Clive Hatton

The Open Group SOA Ontology Technical Standard. Clive Hatton The Open Group SOA Ontology Technical Standard Clive Hatton The Open Group Releases SOA Ontology Standard To Increase SOA Adoption and Success Rates Ontology Fosters Common Understanding of SOA Concepts

More information

Lecture: Simulation. of Manufacturing Systems. Sivakumar AI. Simulation. SMA6304 M2 ---Factory Planning and scheduling. Simulation - A Predictive Tool

Lecture: Simulation. of Manufacturing Systems. Sivakumar AI. Simulation. SMA6304 M2 ---Factory Planning and scheduling. Simulation - A Predictive Tool SMA6304 M2 ---Factory Planning and scheduling Lecture Discrete Event of Manufacturing Systems Simulation Sivakumar AI Lecture: 12 copyright 2002 Sivakumar 1 Simulation Simulation - A Predictive Tool Next

More information

This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping.

This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping. i About the Tutorial SDLC stands for Software Development Life Cycle. SDLC is a process that consists of a series of planned activities to develop or alter the Software Products. This tutorial will give

More information

SEEM4570 System Design and Implementation. Lecture 10 UML

SEEM4570 System Design and Implementation. Lecture 10 UML SEEM4570 System Design and Implementation Lecture 10 UML Introduction In the previous lecture, we talked about software development life cycle in a conceptual level E.g. we need to write documents, diagrams,

More information

Data Process Modeling: Context Diagrams & Data Flow Diagrams (DFDs)

Data Process Modeling: Context Diagrams & Data Flow Diagrams (DFDs) Introduction Data Process Modeling: Context Diagrams & Data Flow Diagrams (DFDs) MIS 374 When designing/building an information system for an organization, you should consider the following questions regarding

More information

Unit 1 Introduction to Software Engineering

Unit 1 Introduction to Software Engineering Unit 1 Introduction to Software Engineering João M. Fernandes Universidade do Minho Portugal Contents 1. Software Engineering 2. Software Requirements 3. Software Design 2/50 Software Engineering Engineering

More information

Lecture c, Process Mapping: Yourdon Notation for Data Flow Diagrams, covers Yourdon notation for data flow diagrams.

Lecture c, Process Mapping: Yourdon Notation for Data Flow Diagrams, covers Yourdon notation for data flow diagrams. WORKFLOW ANALYSIS Audio Transcript Component 10 Unit 3 Lecture C Fundamentals of Health Workflow Process Analysis & Redesign Interpreting and Creating Process Diagrams Process Mapping Yourdon Notation

More information

What is a Model? Copyright hebley & Associates

What is a Model? Copyright hebley & Associates Modeling Overview... as we know, there are known knowns; there are things we know we know. We also know there are known unknowns; that is to say we know there are some things we do not know. But there

More information

Systems Analysis and Design in a Changing World, Fourth Edition

Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, 4th Edition Learning Objectives Explain the purpose and various phases of the systems development

More information

TDWI strives to provide course books that are contentrich and that serve as useful reference documents after a class has ended.

TDWI strives to provide course books that are contentrich and that serve as useful reference documents after a class has ended. Previews of TDWI course books offer an opportunity to see the quality of our material and help you to select the courses that best fit your needs. The previews cannot be printed. TDWI strives to provide

More information

TIM 50 - Business Information Systems

TIM 50 - Business Information Systems TIM 50 - Business Information Systems Lecture 15 UC Santa Cruz May 20, 2014 Announcements DB 2 Due Tuesday Next Week The Database Approach to Data Management Database: Collection of related files containing

More information

Special Report. What to test (and how) to increase your ROI today

Special Report. What to test (and how) to increase your ROI today Special Report What to test (and how) to A well-designed test can produce an impressive return on investment. Of course, you may face several obstacles to producing that well-designed test to begin with.

More information

Chapter 1: Introduction to Computers and Java

Chapter 1: Introduction to Computers and Java Chapter 1: Introduction to Computers and Java Starting Out with Java: From Control Structures through Objects Fifth Edition by Tony Gaddis Chapter Topics Chapter 1 discusses the following main topics:

More information

Darshan Institute of Engineering & Technology for Diploma Studies

Darshan Institute of Engineering & Technology for Diploma Studies REQUIREMENTS GATHERING AND ANALYSIS The analyst starts requirement gathering activity by collecting all information that could be useful to develop system. In practice it is very difficult to gather all

More information

Object Oriented Analysis and Design - Part2(Design)

Object Oriented Analysis and Design - Part2(Design) Object Oriented Analysis and Design - Part2(Design) Exam A QUESTION 1 Which statement is true about elements within the subsystem and public visibility? A. Only the subset of elements that define the subsystems

More information

8/23/2014. Chapter Topics. Introduction. Java History. Why Program? Java Applications and Applets. Chapter 1: Introduction to Computers and Java

8/23/2014. Chapter Topics. Introduction. Java History. Why Program? Java Applications and Applets. Chapter 1: Introduction to Computers and Java Chapter 1: Introduction to Computers and Java Starting Out with Java: From Control Structures through Objects Fifth Edition by Tony Gaddis Chapter Topics Chapter 1 discusses the following main topics:

More information

Applying UML to System Engineering Some Lessons Learned Murray Cantor Principal Consultant

Applying UML to System Engineering Some Lessons Learned Murray Cantor Principal Consultant Applying UML to System Engineering Some Lessons Learned Murray Cantor Principal Consultant Mcantor@rational.com Topics Background Customers needs What has worked Strengths of UML Shortfalls Next steps

More information

Correlation of Ontario Mathematics 2005 Curriculum to. Addison Wesley Mathematics Makes Sense

Correlation of Ontario Mathematics 2005 Curriculum to. Addison Wesley Mathematics Makes Sense Correlation of Ontario Mathematics 2005 Curriculum to Addison Wesley Math Makes Sense 3 Number Sense and Numeration Overall Expectations By the end of Grade 3, students will: read, represent, compare,

More information