An Introduction to Embedded Software Architecture and Design

Slides:



Advertisements
Similar presentations
Test Yaodong Bi.
Advertisements

IMS1805 Systems Analysis Topic 3: Doing Analysis (continued from previous weeks)
Object-Oriented Analysis and Design
Revision Session 1.UML Overview 2.Detailed software design : operation specification, designing for re-use.
Technical Specification / Schedule Department of Computer Science and Engineering Michigan State University Spring 2007 Team : CSE 498, Collaborative Design.
UML and the Software Lifecycle
Chapter 3 Planning Your Solution
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Chapter 6– Artifacts of the process
CS 8532: Adv. Software Eng. – Spring 2007 Dr. Hisham Haddad Tuesday Class will start momentarily. Please Stand By … CS 8532: Advanced Software.
The Design Discipline.
Changing Perspective From Structured to Object-oriented.
Object-Oriented Analysis and Design OVERVIEW. Objectives  Describe Information Systems  Explain the role of a systems analyst  Introduce object-oriented.
1 Tools for Commercial Component Assembly Francis Bordeleau, Zeligsoft/Carleton University Mark Vigder, National Research Council Canada.
Eng. Mohammed Timraz Electronics & Communication Engineer University of Palestine Faculty of Engineering and Urban planning Software Engineering Department.
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.
The Systems Development Life Cycle
CS 4850: Senior Project Fall 2014 Object-Oriented Design.
TAL7011 – Lecture 4 UML for Architecture Modeling.
Unified Modelling Language (UML) Software Engineering Lab. Sharif University of Technology.
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
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.
DESIGN OF SOFTWARE ARCHITECTURE
Computer Science 340 Software Design & Testing Software Architecture.
Session 3 How to Approach the UML Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 5, 2011 Presented by Kang-Pyo Lee.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Software Engineering INTRODUCTION TO SOFTWARE DEVELOPMENT.
04 - OOD Intro.CSC4071 Software Design ‘Requirements’ defines –The goals the system needs to satisfy. ‘Specification’ defines –The externally-observable.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Presented by: © 2015 Jacob Beningo All Rights Reserved Writing Portable and Robust Firmware in C September 2, 2015 Jacob Beningo, CSDP Class 3: Uart Driver.
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
Object Oriented Analysis and Design Introduction to Rational Rose.
Fall 2007 Week 9: UML Overview MSIS 670: Object-Oriented Software Engineering.
Rational Rose For System Design What is Rational Rose? Rational Rose is the visual modeling software solution that lets you create, analyze, design,
Presented by: © 2015 Jacob Beningo All Rights Reserved Writing Portable and Robust Firmware in C September 4, 2015 Jacob Beningo, CSDP Class 5: Robust.
Introduction. System Design Hardware/Software Platform Selection Software Architectures Database Design Human-Computer Interaction (HCI) Interface Object.
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.
System Architecture CS 560. Project Design The requirements describe the function of a system as seen by the client. The software team must design a system.
Embedded System Design Techniques™:
Introduction to UML.
Instructor: Dr. Hany H. Ammar
Instructor: Dr. Hany H. Ammar
Embedded Software Development with Python and the Raspberry Pi
Embedded Software Development with Python and the Raspberry Pi
Systems Analysis and Design With UML 2
Introduction to Unified Modeling Language (UML)
Introduction to UML Tutorial 1.
James Miller, Julia John
Online Shopping APP.
UML dynamic Modeling (Behavior Diagram)
The Object Oriented Approach to Design
Object-Oriented Design
Baremetal C Programming for Embedded Systems
Embedded Software Development with Python and the Raspberry Pi
An Introduction to Embedded Software Architecture and Design
Writing Portable and Robust Firmware in C
Writing Portable and Robust Firmware in C
February 26, 2015 Jacob Beningo, CSDP
Baremetal C Programming for Embedded Systems
Software Design Lecture : 15.
Baremetal C Programming for Embedded Systems
CS 8532: Advanced Software Engineering
An Introduction to Embedded Software Architecture and Design
An Introduction to Embedded Software Architecture and Design
Chapter 22 Object-Oriented Systems Analysis and Design and UML
An Introduction to Embedded Software Architecture and Design
Embedded System Design Techniques™:
February 24, 2015 Jacob Beningo, CSDP
Presentation transcript:

An Introduction to Embedded Software Architecture and Design Class 5: Software Architecture of a UAV December 5, 2014 Jacob Beningo, CSDP

Course Overview Introduction to Embedded Software Architecture Software Architecture using UML Understanding Embedded Software Architectures From Architecture to Implementation Software Architecture of a UAV and Review

Session Overview Introduction System Architecture Software Architecture Review

Introduction

Introduction Commercialized UAVS Open Source Platforms Quadcopters Octocopters Open Source Platforms Open Hardware Systems COTS Sensors

System Architecture

System Architecture Automated Control Manual Control

System Architecture

System Architecture

System Architecture

Software Architecture Review Architecture describes Fundamental organization and interaction of the system and subsystem components It hides the implementation as much as possible! Should NOT be easily changed Should BE easily scaled

Software Architecture Review What is design? Detailed planning of the software to the lowest levels Such as ….. Flowcharting Function definitions Variable naming Task declarations API’s

Software Architecture Review UML diagram vs model Diagrams describe different views of the model More than one diagram of the same kind may exist A poorly formed model can be seen by incoherent diagrams. (once that don’t agree)

Software Architecture Review

Software Architecture Review Collaboration Object Use Case Class UML Model Diagrams Sequence Deployment Statecharts Component Activity

Software Architecture Review Favorite Architectural Diagrams Use Cases Statecharts Component

Software Architecture Review The bottom line Architecture design improves the design and implementation phases Thought out architecture allows ease of diagnostics, testing and expandability Decreases bugs, time to market and costs Allows for reuse Makes the developers life easier

Additional Resources Download Course Material for Edraw UML Templates Updated C Doxygen Templates Misc Papers and Websites for further reading From www.beningo.com under - Blog and Articles > Software Techniques > CEC Software Architecture Materials

Jacob Beningo Newsletters P.O. Box 400 Embedded Monthly Linden, Michigan 48451 www.beningo.com Newsletters Embedded Monthly Low Power Design http://eepurl.com/2xJFr Training Bootloaders Embedded Software C/C++ : jacob@beningo.com : 810-844-1522 : Jacob_Beningo : Beningo Engineering : JacobBeningo : Embedded Basics Jacob Beningo Principal Consultant