Chapter 3 : Software Process and Other Models Juthawut Chantharamalee Curriculum of Computer Science Faculty of Science and Technology, Suan Dusit University.

Slides:



Advertisements
Similar presentations
Based on: Petri Nets and Industrial Applications: A Tutorial
Advertisements

10 Software Engineering Foundations of Computer Science ã Cengage Learning.
UML Diagrams Jung Woo. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, business.
Software Design Process A Process is a set of related and (sequenced) tasks that transforms a set of input to a set of output. Inputs Outputs Design Process.
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
Systems Analysis and Design 8th Edition
System Modelling System modelling helps the analyst to understand the functionality of the system and models are used to communicate with customers. Different.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Activity Diagrams [Arlow and Neustadt, 2005] CS 425 / 625 Seminar on Software Engineering University of Nevada, Reno Department of Computer Science & Engineering.
Chapter 15: System Modeling with UML
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
Chapter 10 System Sequence Diagrams. What is a System Sequence Diagram? A way of modeling input and output events related to systems It is a picture that.
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Lecture 6 & 7 System Models.
Kendall & KendallCopyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 9 Kendall & Kendall Systems Analysis and Design, 9e Process Specifications.
SE-565 Software System Requirements More UML Diagrams.
Chapter 3 Planning Your Solution
Software Design Processes and Management
Unified Modeling Language
ALL students MUST be able to Identify (E) and Describe (D) the 7 most common form of UML diagrams required for OOP. MOST students WILL be able to Explain.
UML for Java Programmers Object Mentor, Inc. Copyright  by Object Mentor, Inc All Rights Reserved
Systems Analysis and Design in a Changing World, Fifth Edition
程建群 博士(Dr. Jason Cheng) 年03月
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
Chapter 7 System models.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Systems Analysis & Design 7 th Edition Chapter 5.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML.
Systems Analysis and Design 8 th Edition Chapter 6 Object Modeling.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Lecture 18: Object-Oriented Design – Interaction and State Diagrams Anita S. Malik Adapted from Schach (2004) Chapter 12.
5 Systems Analysis and Design in a Changing World, Fifth Edition.
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
CS212: Object Oriented Analysis and Design Lecture 34: UML Activity and Collaboration diagram.
程建群 博士 (Dr. Jason Cheng) 年 03 月 Software Engineering Part 08.
Systems Analysis and Design in a Changing World, Fourth Edition
CS3773 Software Engineering Lecture 06 UML State Machines.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
Chapter 14: Activity Diagrams November 2015 [Arlow and Neustadt, 2005] CS 425/625 Senior Projects University of Nevada, Reno Department of Computer Science.
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
Capturing Requirements. Questions to Ask about Requirements 1)Are the requirements correct? 2)Consistent? 3)Unambiguous? 4)Complete? 5)Feasible? 6)Relevant?
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
Ondřej Přibyl Faculty of Transportation Sciences, CTU DESIGN OF ITS SYSTEMS Project support 1 3 PROJECT SUPPORT Use cases.
CHAPTER 6 OBJECT ANALYSIS.
OCR A Level F453: High level languages Programming techniques a. identify a variety of programming paradigms (low-level, object- oriented,
Chapter 1 Overview of UML for Java Programmers. 2 Outline Diagram Types Diagram Types Class Diagrams Class Diagrams Object Diagrams Object Diagrams Sequence.
Engineering, 7th edition. Chapter 8 Slide 1 System models.
Chapter 4: Business Process and Functional Modeling, continued
UML Diagrams By Daniel Damaris Novarianto S..
Unified Modeling Language
UML Diagrams Jung Woo.
Abstract descriptions of systems whose requirements are being analysed
CH#3 Software Designing (Object Oriented Design)
UML Activity Diagrams & State Charts
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4th edition, Prentice Hall, Hans Van Vliet, Software Engineering:
CIS 375 Bruce R. Maxim UM-Dearborn
Chapter 5.
CIS 375 Bruce R. Maxim UM-Dearborn
Presentation transcript:

Chapter 3 : Software Process and Other Models Juthawut Chantharamalee Curriculum of Computer Science Faculty of Science and Technology, Suan Dusit University URL:

2 Outline of this presentation The Software Process Model Data Flow Diagrams Petri Net Models Object Models Use Case Diagrams Scenarios Reference to Chapter 1 of “Software Engineering with Schaum’s Out Line”, McGraw-Hill, 2002.

3 Outline of this presentation (Cont.) Sequence Diagrams Hierarchy Diagrams Control Flow Graphs State Diagrams Lattice Models Reference to Chapter 1 of “Software Engineering with Schaum’s Out Line”, McGraw-Hill, 2002.

4 2.1 The Software Process Models A software process model (SPM) describes the processes that are done to achieve software development. A software process model usually includes the following: Tasks Artifacts (files, data, etc.) Actors Decisions (optional)

5 The following are rules and interpretations for correct process models: Two tasks cannot be connected by an arc. Tasks must be separated by artifacts. A task is not executable until its input artifacts exist. There are one or more start tasks and one or more terminal tasks. All tasks must be reachable from the start task. There is a path from every task to the terminal task.

6 Example the software process model can describe what is supposed to happen. Prescriptive software process models can be used to describe the standard software development process. These can be used as training tools for new hires, for reference for uncommon occurrences, and for documenting what is supposed to be happening.

7 Example-1 Fig Process diagram for unit

8 Example-2 Fig. 2-2 Process model with decisions

9 2.2 Data Flow Diagrams One of the most basic diagrams in software development is the data flow diagram. A data flow diagram shows the flow of the data among a set of components. The components may be tasks, software components, or even abstractions of the functionality that will be included in the software system. The actors are not included in the data flow diagram. The sequence of actions can often be inferred from the sequence of activity boxes.

10 The following are rules and interpretations for correct data flow diagrams: 1. Boxes are processes and must be verb phrases. 2. Arcs represent data and must be labeled with noun phrases. 3. Control is not shown. Some sequencing may be inferred from the ordering. 4. A process may be a one-time activity, or it may imply a continuous processing. 5. Two arcs coming out a box may indicate that both outputs are produced or that one or the other is produced.

11 Example-3 Fig. 2-3 Data flow for unit testing

12 Example-4 Fig. 2-4 The calculation of the mathematical formula

Petri Net Models The basic petri net model consists of condition nodes, arcs, event nodes, and tokens. If the input condition nodes for an event node all have tokens, then the event can fire, the tokens are removed from the input nodes, and tokens are placed on all of the output nodes of the firing position. The condition nodes are usually represented by circles and the event nodes by horizontal lines or rectangles.

14 Example-5 Fig. 2-5 Petri net model

Object Models Object models represent entities and relationships between entities. Each box represents a type of object, and the name, attributes, and the methods of the object are listed inside the box. The top section of the box is for the name of the object, the second section is for the attributes, and the bottom section is for the methods.

16 Example-6 Fig. 2-6 Object model of simple library

17 Example-7 Fig. 2-7 Family-tree object model

EXISTENCE DEPENDENCY Existence dependency relationships are defined as follows: A class (parent) can be associated with a lower class (child) if the lower (child) class only exists when the upper (parent) class exists and each instance of the lower (child) class is associated with exactly one instance of the upper (parent) class. This relationship and inheritance can be used to represent any problem domain.

19 Example-8 Fig. 2-8 Library object model using ED

INSTANCE DIAGRAMS Object diagrams represent types of objects. Thus, a boxlabeled ‘‘car’’represents the attributes and functions of all cars. Sometimes the relationships between instances of objects are not very clear in an object diagram. An instance diagram shows example instances of objects and may clarify the relationships.

21 Example-9 Fig. 2-9 Instance diagram of Fred’s family tree

Use Case Diagrams A use case diagram is part of the UML set of diagrams. It shows the important actors and functionality of a system. Actors are represented by stick figures and functions by ovals. Actors are associated with functions they can perform.

23 Example-10 Fig Use case for simple library

Scenarios A scenario is a description of one sequence of actions that could occur in this problem domain. EXAMPLE 2.11 Write a scenario for the library problem. Fred, a patron, goes to the library and checks out a book. Two months later, he brings the overdue library book back to the library.

Sequence Diagrams A sequence diagram is part of the UML set of diagrams. The diagram has vertical lines, which represent instances of classes. Each vertical line is labeled at the top with the class name followed by a colon followed by the instance name.

26 Example-11 Fig Sequence diagram for checkout scenario

Hierarchy Diagrams A hierarchy diagram shows the calling structure of a system. Each boxrepresents a function. A line is drawn from one function to another function if the first function can call the second function. All possible calls are shown. It is not one of the UML set of diagrams and is often not used in objectoriented development. However, it can be a very useful diagram to understand the dynamic structure of a system.

28 Example-12 Fig Hierarchy diagram

Control Flow Graphs A control flow graph (CFG) shows the control structure of code. Each node (circle) represents a block of code that has only one way through the code. That is, there is one entrance at the beginning of the block and one exit at the end. If any statement in the block is executed, then all statements in the block are executed. Arcs between nodes represent possible flows of control. That is, if it is possible that block B is executed, right after block A, then there must be an arc from block A to block B.

30 The following are rules for correct control flow diagrams: 1. There must be one start node. 2. From the start node, there must be a path to each node. 3. From each node, there must be a path to a halt node.

31 Example-13 Fig Control flow graph for triangle program.

State Diagrams The state of a machine or program is the collection of all the values of all the variables, registers, and so on. A state diagram shows the states of the system and the possible transitions between these states.

33 The following are rules for correct state diagrams: 1. There is one initial state. 2. Every state can be reached from the initial state. 3. From each state, there must be a path to a stop state. 4. Every transition between states must be labeled with an event that will cause that transition.

34 Example-14 Fig State diagram for a fixed-size stack

35 Example-15 Fig State diagrams showing error transitions

Lattice Models A lattice is a mathematical structure that shows set relationships. Although not used in software development very often, it is being used more to show the relationships between sets of functions and attributes.

37 Example-16 Fig Lattice model for stack example

Chapter 3: The End (Any Question?)