Project Development & Software Design



Similar documents
Java Programming (10155)

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone

Software Development: The Waterfall Model

EMBEDDED C USING CODEWARRIOR Getting Started Manual

Android Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development

3. Identification of water pumps through RFID technology. 4. Wireless control of remote water pump using RF technology.

How To Use An Atmel Atmel Avr32848 Demo For Android (32Bit) With A Microcontroller (32B) And An Android Accessory (32D) On A Microcontroller (32Gb) On An Android Phone Or

Computer Organization and Components

An Introduction to MPLAB Integrated Development Environment

Appendix M INFORMATION TECHNOLOGY (IT) YOUTH APPRENTICESHIP

Course Syllabus. COSC 1437 Programming Fundamentals II. Revision Date: August 21, 2013

Web Help Desk - EASD Technology Support

The WIMP51: A Simple Processor and Visualization Tool to Introduce Undergraduates to Computer Organization

Describe the process of parallelization as it relates to problem solving.

Microcontroller Based Low Cost Portable PC Mouse and Keyboard Tester

Programming A PLC. Standard Instructions

THREE YEAR DEGREE (HONS.) COURSE BACHELOR OF COMPUTER APPLICATION (BCA) First Year Paper I Computer Fundamentals

Embedded Software development Process and Tools: Lesson-3 Host and Target Machines

Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts)

How to read this guide

Price: see your VeriFone sales representative. Per student, Excluding VAT.

Lab - Building an Internet of Things Application Hands-On Lab

AVR Butterfly Training. Atmel Norway, AVR Applications Group

Automatic Ration Material Distributions and Payment System Based on GSM and RFID Technology

MEN'S FASHION UK Items are ranked in order of popularity.

Problems and Measures Regarding Waste 1 Management and 3R Era of public health improvement Situation subsequent to the Meiji Restoration

THE SOFTWARE DEVELOPMENT LIFE CYCLE *The following was adapted from Glencoe s Introduction to Computer Science Using Java

How to design and implement firmware for embedded systems

Feasibility Study of Implementation of Cell Phone Controlled, Password Protected Door Locking System

Microtronics technologies Mobile:

Using SMIGRATE to Backup, Restore and Migrate Team Sites in SharePoint Products and Technologies 2003

EE8205: Embedded Computer System Electrical and Computer Engineering, Ryerson University. Multitasking ARM-Applications with uvision and RTX

Use of Simulator in Teaching Introductory Computer Engineering*

EasyC. Programming Tips

Homeschool Programming, Inc.

S7 for Windows S7-300/400

Development of Low Cost Private Office Access Control System(OACS)

Applying Use Cases to Microcontroller Code Development. Chris Gilbert Cypress Semiconductor

ETEC Digital Controls PIC Lab 10 Pulse Width Modulation

PROGRAMMABLE LOGIC CONTROLLERS Unit code: A/601/1625 QCF level: 4 Credit value: 15 OUTCOME 3 PART 1

Embedded Software development Process and Tools:

EE 472 Lab 2 (Group) Scheduling, Digital I/O, Analog Input, and Pulse Generation University of Washington - Department of Electrical Engineering

Lab Experiment 1: The LPC 2148 Education Board

Reducing or increasing the number of people assigned to an activity. A sudden increase of the number of instances flowing through the process.

TRILOGI 5.3 PLC Ladder Diagram Programmer and Simulator. A tutorial prepared for IE 575 by Dr. T.C. Chang. Use On-Line Help

A Practical Approach to Education of Embedded Systems Engineering

EE289 Lab Fall LAB 4. Ambient Noise Reduction. 1 Introduction. 2 Simulation in Matlab Simulink

Before you can use the Duke Ambient environment to start working on your projects or

Reference Guide - Raising an order from Hubwoo in Purchasing Self-Service (PSS)

ENGI E1112 Departmental Project Report: Computer Science/Computer Engineering

Comparing RTOS to Infinite Loop Designs

Outline. 1 Denitions. 2 Principles. 4 Implementation and Evaluation. 5 Debugging. 6 References

Microcontroller Based Smart ATM Access & Security System Using Fingerprint Recognition & GSM Technology

HOW TO CREATE USEFUL SOFTWARE PROCESS DOCUMENTATION ABSTRACT

Lab 3: Introduction to Data Acquisition Cards

lclinical Informatics: Evaluation,

Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science. Unit of Study / Textbook Correlation

IBI Group FTP: Usage Instructions

Outline. hardware components programming environments. installing Python executing Python code. decimal and binary notations running Sage

Michigan State University. Team Meijer. Tablet-Based Point-of-Sale System. Project Plan. Fall 2011

Special Lecture. Basic Stamp 2 Programming. (Presented on popular demand)

Exhibit F. VA CAI - Staff Aug Job Titles and Descriptions Effective 2015

Fig 3. PLC Relay Output

Android, Bluetooth and MIAC

Chapter 2 Features of Embedded System

Introduction: The Xcode templates are not available in Cordova or above, so we'll use the previous version, for this recipe.

Designing a Home Alarm using the UML. And implementing it using C++ and VxWorks

AN655 R ANGE TEST APPLICATION FOR EZRADIO AND EZRADIOPRO. 1. Introduction. 2. Supported Radio Types

Lab 3 Microcontroller programming Interfacing to Sensors and Actuators with irobot

USER GUIDE Version 2.0

Creating a Project with PSoC Designer

Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur

D-MAX WEB GUIDE CONTROLLER WITH OPERATOR INTERFACE PANEL QUICK START SETUP MANUAL

ARM7 Based Smart ATM Access & Security System Using Fingerprint Recognition & GSM Technology

DSP Laboratory: Analog to Digital and Digital to Analog Conversion

Computer and Set of Robots

Chapter 1. Introduction to ios Development. Objectives: Touch on the history of ios and the devices that support this operating system.

Jonathan Worthington Scarborough Linux User Group

Overview and History of Operating Systems

A Real Time, Object Oriented Fieldbus Management System

Appendix O Project Performance Management Plan Template

-Helping to make your life betterwww.person-to-person.net

1 Mhelpdesk LLC.

ECIO40P ECIO28P ECRM40. Page 1. USB programmable microcontrollers. 0.6 DIP footprint. Supplied with a free version of Flowcode. E-blocks compatible

Lab Course Microcontroller Programming WS2011/12

Embedded Component Based Programming with DAVE 3

Creating a Simple Visual C++ Program

Microsoft Visual Studio 2010 Instructions For C Programs

Lab 4.4.8a Configure a Cisco GRE over IPSec Tunnel using SDM

Best Robotics Sample Program Quick Start

Lab 1 Course Guideline and Review

Cyclic Architectures in UML

C8051F020 Utilization in an Embedded Digital Design Project Course. Daren R. Wilcox Southern Polytechnic State University Marietta, Georgia

Testing Robots Using the VEXnet Upgrade

NOVA COLLEGE-WIDE COURSE CONTENT SUMMARY ITE INTRODUCTION TO COMPUTER APPLICATIONS & CONCEPTS (3 CR.)

RadioRA 2 (QS) Lighting and Climate Control. g! 5.4 Fan Controller: g! RadioRA2 Inclusive Software v5.0.8 or newer

Introduction to Automated Testing

Transcription:

Project Development & Software Design Lecturer: Sri Parameswaran Notes by Annie Guo. S1, 2006 COMP9032 Week12 1

Lecture Overview Basic project development steps Some software design techniques S1, 2006 COMP9032 Week12 2

Project Steps A project development process basically consists of a number steps: Project definition Design Hardware implementation and Software development Test S1, 2006 COMP9032 Week12 3

Includes: Project Definition Project requirement analysis Development of a complete operating specification and coarse or macro-level block diagram Possible Project Proposal Time spent: 10~15% of the total project time. S1, 2006 COMP9032 Week12 4

Determine Hardware design Design Hardware components required and their connection Overall system structure Hardware+software Software design Software data structures and flowchart Hardware and software interaction Basic tasks and their interaction Takes 40-50% project time S1, 2006 COMP9032 Week12 5

Software Design Consists of a number of steps: List tasks to be performed Prioritize the tasks and scheduling tasks if there are real time processing requirements often it is the case in embedded system design Design interrupts for task scheduling Create a software flowchart for each interrupt function or normal task Develop the code S1, 2006 COMP9032 Week12 6

Test Put the system developed in the project into use. It is tested in accordance with the operating specifications developed in the project definition. S1, 2006 COMP9032 Week12 7

Example Project 2: lift controller emulator Project specification It basically has been done for you Hardware resources: AVR lab board. Operating specification» But you need to provide more details in your Use s manual. S1, 2006 COMP9032 Week12 8

Example Project 2: lift controller emulator Hardware design and implementation The lab board is given, the basic hardware design and implementation has been done for you. What you need to do is to design how to use the available hardware resources As specified» Using motor to emulate the lift motion» Using LCD to display the status of the lift operation» Inputs: Encoding input keys of the keyboard and push buttons to represent all possible operations Additionally» Using LCD and LED bars to display values for debugging purpose S1, 2006 COMP9032 Week12 9

Example Project 2: lift controller emulator Software design How many tasks are there? Depending on your design and how you like your code organized.» One basic function one task» A group of related functions one task Example: two basic tasks (could be more than two)» Task1: Get the service requests» Task2: Control the lift operations: moving up, moving down, stop S1, 2006 COMP9032 Week12 10

Timer(s) keypad store requests get requests LCD task1 Data task2 push buttons delete requests Motor How data is stored? How the status of lift is represented? S1, 2006 COMP9032 Week12 11

Example Project 2: lift controller emulator Software design data structures: Important» Can simplify your algorithms» Can affect the efficiency of the your code Should be carefully designed Algorithms and flow diagrams The high level template of your code S1, 2006 COMP9032 Week12 12

Example Project 2: lift controller emulator Software design Algorithms and flow diagrams The high level template of your code Draw a control flow diagram for each task Verifying the control flow» Try to run some requests to see if the control flow design can lead to the expected operations. S1, 2006 COMP9032 Week12 13

Example Project 2: lift controller emulator Software design Set up the code template S1, 2006 COMP9032 Week12 14

Example Project 2: lift controller emulator Software design Write up the code complete each section Start from the definitions Develop and test each function individually Display function may be the first function to be completed since it may be used for testing other functions S1, 2006 COMP9032 Week12 15

Example Project 2: lift controller emulator Testing Doest it really work? Compile and run your code on the development board» Check for different operations If it is not working» Check the wiring» Debug the code» Analysis of bugs Until it is working»??? S1, 2006 COMP9032 Week12 16

Some Techniques in Software Code Development Develop and individually test each of the functions in the flowchart Use a simple main() function to exercise each of the the individual input/output device functions When the individual functions are working correctly, write the overall software in a stepwise fashion adding one additional function to the code and debugging it before adding more until the entire project is functionally correctly using the real or simulated inputs. It is often useful to develop the code to run output devices first so that you can use output devices to display results. S1, 2006 COMP9032 Week12 17

User s manual Document for users About docs The procedure to set up the emulator system. How to use the system Design manual Some typical operation examples Document for other technique persons including yourself for maintenance for system update S1, 2006 COMP9032 Week12 18