Practice Patterns to improve the Quality of Design Model in Embedded SoftWare Development Doo-Hwan Kim*, Jong-Phil Kim* and Jang-Eui Hong* *Chungbuk National.

Slides:



Advertisements
Similar presentations
Software Design Fundamentals
Advertisements

From Model-based to Model-driven Design of User Interfaces.
DFD Rules and Guidelines Yong Choi BPA CSUB. 2 DFD example - Hoosier Burger’s food ordering system I * One process (level 0 - the whole system) * No data.
Chapter 1 An Overview of Computers and Programming Languages.
Alternative Approach to Systems Analysis Structured analysis
1.1 Aims of testing Testing is a process centered around the goal of finding defects in a system. We are currently unable to produce defect-free systems.
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.
Information Systems Analysis and Design
ArchE Presented By Samanvitha Ramayanam. TOPICS 1. Introduction 2. Theoretical assumptions 3. ArchE as an expert system 4. Overall flow of ArchE 5. Key.
Practical Business Modeling in the Unified Process Tom Morgan Software Architect, Fidelity National Information Services
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Software Architecture Design Instructor: Dr. Jerry Gao.
Requirements Analysis Concepts & Principles
Analysis Concepts and Principles
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
BY: SACHIN SHRIVASTAVA Operating System By : Sachin Shrivastava 1.
Software Design Processes and Management
Architectural Design.
Computer Programming-1 CSC 111 Chapter 1 : Introduction.
2 Approaches to Requierements Engineering Reference: Systems Analysis and Design in a Changing World, 3 rd Edition, chapter 2 and chapter 6.
Chapter 10 Architectural Design
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
1.1 1 Introduction Foundations of Computer Science  Cengage Learning.
Requirements Analysis
CSE 303 – Software Design and Architecture
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
CSCI 3140 Module 2 – Conceptual Database Design Theodore Chiasson Dalhousie University.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
Chapter 6 Use Cases. Use Cases: –Text stories Some “actor” using system to achieve a goal –Used to discover and record requirements –Serve as input to.
UML The Unified Modeling Language A Practical Introduction Al-Ayham Saleh Aleppo University
10 Software Architecture CSCU 411 Software Engineering.
 A software application is like a city  Modeling = Architecture  OOP = Civil Engineering  UML Classes = Blueprints of Buildings  UML is a common.
Analysis Modeling. Function Modeling & Information Flow  Information is transformed as it flows through a computer-based system. The system accepts input.
1 Introduction to Software Engineering Lecture 1.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Introduction to Software Engineering. Why SE? Software crisis manifested itself in several ways [1]: ◦ Project running over-time. ◦ Project running over-budget.
Design Concepts By Deepika Chaudhary.
Copyright Prof. Dr. Shuichiro Yamamoto Prof. Dr. Shuichiro Yamamoto Nagoya University.
1 CMPT 275 High Level Design Phase Modularization.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Designing Abstract Interfaces for Device Independency Designing Abstract Interfaces for Device Independency Review of A Procedure for Designing Abstract.
ANU comp2110 Software Design lecture 8 COMP2110 Software Design in 2004 lecture 8 Software Architecture 1 of 2 (design, lecture 3 of 6) Goal of this small.
CS223: Software Engineering
1.The following diagram illustrates the relationship among various hardware components. The arrows indicate the directions of data flow. Activity 1 Relationship.
Design CS 470 – Software Engineering I Sheldon X. Liang, PH.D.
Introduction to Computer Programming using Fortran 77.
Computer Systems Architecture Edited by Original lecture by Ian Sunley Areas: Computer users Basic topics What is a computer?
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
Chapter I: Introduction to Computer Science. Computer: is a machine that accepts input data, processes the data and creates output data. This is a specific-purpose.
Software Design Process. What is software? mid-1970s executable binary code ‘source code’ and the resulting binary code 1990s development of the Internet.
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
Design Engineering 1. Analysis  Design 2 Characteristics of good design 3 The design must implement all of the explicit requirements contained in the.
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
Software Design Refinement Using Design Patterns
Classifications of Software Requirements
Lecture 1: Introduction to JAVA
Chapter 17: Designing an Architecture
Problem Solving How do we attack a large problem?
System Design and Modeling
Introduction to System Analysis and Design
DFD Rules and Guidelines
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Chapter 1 Introduction(1.1)
Introduction to Systems Analysis and Design Stefano Moshi Memorial University College System Analysis & Design BIT
Implementation support
Chapter 6: Architectural Design
Implementation support
Presentation transcript:

Practice Patterns to improve the Quality of Design Model in Embedded SoftWare Development Doo-Hwan Kim*, Jong-Phil Kim* and Jang-Eui Hong* *Chungbuk National University QSIC

outline ● Introduction ● ractice patterns ○ Decomposition ○ Type Selection ○ Event Definition ○ Packaging ● Process and Application ● Results and Conclusion 2

Introduction what’s embedded software? Embedded software is computer software, written to control machines or devices ● characteristics: ○ difficult to change ○ time and memory constraints 3

Introduction what’s a pattern? a pattern is a proven solution to a problem in a specific context. 4

Introduction ● Pattern’s six main element ○ name ○ context ○ problem ○ force ○ solution ○ resulting context 5

problem definition Source code quality is very important to embedded systems because software embedded into a product is difficult to change ! proposal: 4 pattern to improving the qualty of software design model ● practice patterns ○ Decomposition ○ Type Selection ○ Event Definition ○ Packaging ● This pattern is a kind of process pattern to guide the development works of software engineers in modeling phases 6

Decomposition pattern Decomposition pattern is used to refine abstract component into concrete components ● Steps: 1. Decompose the top-level component of a system into event monitor component and consequent action component with ignoring hardware devices. 2.The base of the decomposition should be functional units rather than data input or output flows. 7

Decomposition pattern 3. If a component has two or more inputs/outputs, decompose the component repeatedly until single input remains. (Exception in case of implicit events such as timer input.) 4.Define the relationship between components. 5.Label the relationship with none phrase but verb phrase. 8

Decomposition pattern 9

Type Selection patterns The Type Selection Pattern is used to determine the task type of a functional unit 4 types of periodic/aperiodic, synchronous/asynchronous, input/output /function, and control Setps: 1.If a task has a timer input event -> periodic 2. Determine the task type considering the characteristics of devices issuing input events. 3. If a task has input events by human being -> periodic rather than aperiodic 10

Type Selection patterns 4.If input events do not have any effect to output events, and the task which receives the input has only branch off behavior -> a control task. 5.If the output events of previous task are not stored in memory, and directly input into sequent task -> synchronous 6. When you confuse to decide the type of a task, you have to enter into a chip 11

Type Selection patterns-example 12

Event Difinition patterns Event Definition pattern guide modeler as following : 1.list all input events for a process. 2.define all possible values for each event. 3.classify the events according to the event type. 4.define the classified events with an abstract event. 13

Packaging pattern Packaging pattern is useful to group concrete component into abstract component. Packaging pattern guide modeler as follows: 1.Leave independent process for such autonomous processes typed with control, periodic,and asynchronous. 2.Leave as different process when memory storage is required for the interaction between two processes. 3.Group towards the directions of minimize interaction, efficient memory usage for any two processes. 14

Process and Application 15

Process and Application The activity can be defined with six tasks: 1.Scoping or selecting a target functional unit. 2.Identifying model elements within the modeling boundary. 3.Producing draft model. 4.Refining the components consisted of the draftmodel. 5.Producing refined model. 6.Architecturing the refined models. 16

Scoping or selecting a target functional unit & Identifying model elements within the modeling boundary Scoping or selecting a target functional unit : Select a function unit to begin further modeling activities. Output of this task is one of the domain model. Identifying model elements within the modeling boundary: The elements consisting of the domain model are idetified and defined. The model elements are defined as a result of the decomposition of system context diagram. Modeler can apply the Decomposition pattern or the Event Definition Pattern. 17

Producing draft model & Refining the components consisted of the draft model Producing draft model : creates a draft model. ex.block diagram,data flow,diagram class diagram. Refining the components consisted of the draftmodel: Descends to particular components from the draft model. Functional process is decomposed into finer processes. This task can apply Decomposition paatern or the Type Selection pattern. 18

Producing refined model & Architecturing the refined model Producing refined model : create analysis model or design model using refined model component. Architecturing the refined model: create architecture for software. achieved with the aid of our packaging pattern. 19

Process and Application General procesures use our practice patterns in task 2.4.6: 1.understands the modeling task intended to perform now. 2.choose an adequate pattern to adopt the modeling task. 3.grasp the contexts of the chosen pattern. 4.perform the modeling task based on the procedural guideline of the practice pattern. 20

Experiment member: class student time : 3 years group: 5 (2 mobile game,1 phone-book,2 SMS) compare initial defects with defects after learning practice patterns 21

Results The changes after learning the Pattern 22 The number of defects is reduced to over 50% after learning the practice patterns.

Conclusion Analysis patterns and design patterns help software modeler develop fast and reliable software. The quality goals of the practice patterns are those of enhanceing response time,memory efficiency,platform portability reusability and changeability. Further works is to find more practice patterns from modeling activities. 23

Thanks for your Listening 24