Software to Go with the Flow. Software Engineering Step #1 Analyze the problem. Step #1 Analyze the problem. Step #2 Design the architecture of a solution.

Slides:



Advertisements
Similar presentations
PROBLEM SOLVING TECHNIQUES
Advertisements

Software Design Deriving a solution which satisfies software requirements.
Activity Diagrams [Arlow and Neustadt, 2005] CS 425 / 625 Seminar on Software Engineering University of Nevada, Reno Department of Computer Science & Engineering.
Introduction To System Analysis and Design
Detailed Design Kenneth M. Anderson Lecture 21
ECIV 301 Programming & Graphics Numerical Methods for Engineers Lecture 4 Programming and Software EXCEL and MathCAD.
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
© Copyright Eliyahu Brutman Programming Techniques Course.
Requirements Analysis Activity Diagrams b511.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis.
Chapter 3 Planning Your Solution
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 1 Introduction to Object-Oriented Programming and Software Development.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
COMP1007 Intro to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis Lecture.
1 Chapter 2 Problem Solving Techniques INTRODUCTION 2.2 PROBLEM SOLVING 2.3 USING COMPUTERS IN PROBLEM SOLVING : THE SOFTWARE DEVELOPMENT METHOD.
Introduction to Algorithm – part one Jennifer Elmer Form 3 Computing.
Unified Modeling Language
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
Use Case What is it?. Basic Definition Of who can do what within a system? TemplateDiagramModelDescription.
UML A CTIVITY D IAGRAMS 1 Dr. Hoang Huu Hanh, OST – Hue University hanh-at-hueuni.edu.vn.
The Logical Structure of Algorithms. Algorithms Steps necessary to complete a task or solve a problem. Example: Recipe for baking a cake –Will contain.
METACASE. WHAT THIS PRESENTATION IS ABOUT  What’s META MODELING?  What’s METACASE?  METAEDIT+ 5.1 EVALUTION PROGRAM  Diagram and its kinds.
Introduction To System Analysis and Design
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
Interaction Models (2): Sequence Diagrams Extracted from textbook: Object Oriented Modeling and Design with UML M. Blaha, J. Rumbaugh 1.
ALGORITHM CHAPTER 8. Chapter Outlines and Objectives  Define an algorithm and relate it to problem solving.  Define three construct and describe their.
1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering WorkFlow Modeling with Activity Diagrams.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
Modeling as a Design Technique Chapter 2 Part 1: Modeling Concepts Object-Oriented Modeling and Design Byung-Hyun Ha
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 UML Activity Diagrams.
PROGRAM DEVELOPMENT CYCLE. Problem Statement: Problem Statement help diagnose the situation so that your focus is on the problem, helpful tools at this.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
OMT Modeling 1. Object Model : presented by the object model and the data dictionary. 2. Dynamic Model: presented by the state diagrams and event flow.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Software Engineering I. Introduction to Software Engineering Software models Formal Specification using ASML (Abstract State Machines Language) Software.
CMPSC 16 Problem Solving with Computers I Spring 2014 Instructor: Tevfik Bultan Lecture 4: Introduction to C: Control Flow.
Analysis Classes. What Is an Analysis Class?  A class that represents initial data and behavior requirements, and whose software and hardware-oriented.
C++ for Engineers and Scientists, Second Edition 1 Problem Solution and Software Development Software development procedure: method for solving problems.
Interaction Models (2): Activity Diagrams Extracted from textbook: Object Oriented Modeling and Design with UML M. Blaha, J. Rumbaugh.
How Computers Solve Problems Computers also use Algorithms to solve problems, and change data into information Computers can only perform one simple step.
By Mashael AlDayel Introduction to UML. What is UML? UML (Unified Modeling Language) is a graphical language that is suit-able to express software or.
Introduction to Problem Solving Programming is a problem solving activity. When you write a program, you are actually writing an instruction for the computer.
Part of the Mathematics glossary: An algorithm (pronounced AL-go-rith-um) is a procedure or formula for solving a problem. The word derives from the name.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 UML Activity Diagrams.
Elaboration: Iteration 3. Elaboration: Iteration 3 Basics Inception and iteration-1 explored many basic OOA/D modeling basics. Iteration-2 narrowly emphasized.
Introduction to UML.
Business Process and Functional Modeling
Models of Computation 1 Activity Diagrams
Topic: Introduction to Computing Science and Programming + Algorithm
GC101 Introduction to computers and programs
Object-Oriented Analysis and Design
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Presentation of Flowchart
Unified Modeling Language
Introduction to UML Tutorial 1.
Visit for more Learning Resources
Introduction to Algorithm – part 1
Activity Diagrams.
Software Engineering Chapter 5 (Part 3) System Modeling Dr.Doaa Sami.
Models of Computation 1 Activity Diagrams
Introduction To System Analysis and Design PART 2
Models of Computation 1 Activity Diagrams
John D. McGregor Module 6 Session 1 More Design
Introduction to Programming
Sylnovie Merchant, Ph.D. MIS 161 Spring 2005
Introduction System Analysis & Design Course
Interaction Models (2): Activity Diagrams
Presentation transcript:

Software to Go with the Flow

Software Engineering Step #1 Analyze the problem. Step #1 Analyze the problem. Step #2 Design the architecture of a solution. Step #2 Design the architecture of a solution. Step #3 Implement the design as a computer program. Step #3 Implement the design as a computer program.

Software Engineering Step #2 Design the architecture of a solution. Step #2 Design the architecture of a solution. Step #1 Analyze the problem. Step #1 Analyze the problem. Step #3 Implement the design as a computer program. Step #3 Implement the design as a computer program.

What are the ingredients of a computer program? 1) data 2) algorithm (instructions) Software design must also focus on these.

Algorithmic Thinking DEFN (revisited) An algorithm is a group of instructions (often expressed informally) for performing some task. DEFN (revisited) An algorithm is a group of instructions (often expressed informally) for performing some task. examples of algorithms recipe for baking cookies a set of travel directions directions for operating your cell phone procedures for registering for next semester’s classes instructions for completing an income tax form a computer program

Diagrams “Picture that!” “One picture is worth a thousand words.” Software Design Software Diagrams Activity Diagrams State Diagrams

Activity Diagrams part of the Unified Modeling Language (UML) a notation for depicting algorithms the purpose captures the flow of an algorithm activity diagrams are a kind of flow diagram / flowchart the notation an action to be performed a flow that determines the order of actions a point at which flows merge or split (a choice)

Activity Diagram Elements Simple Activity diagrams consist of: –Initial node. –Final node. –Action nodes. –Flows (sequences) given by arcs. Eat dinner

Details The initial node indicates where to start The activity described by the diagram ends with the final node. –An activity can have more than one final node. Action nodes operate on data and pass data to other actions. The sequence of actions is defined by the arcs of the diagram.

Conditional Actions Some actions are conditional. How would you say that you need to study if you have an exam tomorrow otherwise you would waste time on Facebook? –What are the actions –What is the condition? A diamond indicates points at which a flows split (a condition) or merge Waste time on Facebook Study [exam tomorrow][no exam tomorrow]

Simple Activity Diagram Instructions for setting wristwatch time

Making Choices in Algorithms the pattern Choice #1 Choice #2 Choice #N from some previous part of the diagram

Login Algorithm

Repetition in Algorithms the patterns

Fudge Algorithm

Login Algorithm 2

Flight Reservation Algorithm

Client Algorithm