1 Case Study Automatic Test System for JPEG Encoder Decoder Cards Pair Lecture - 4.

Slides:



Advertisements
Similar presentations
Lecture 6: Software Design (Part I)
Advertisements

Design Concepts and Principles
User Interface Design Yonsei University 2 nd Semester, 2013 Sanghyun Park.
Object-Oriented Analysis and Design
A Brief Introduction to Software Design and Design Quality By Laura Leventhal.
Introduction to Software Engineering Lecture 6 André van der Hoek.
Lecture 13 Revision IMS Systems Analysis and Design.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
1 Computer Systems & Architecture Lesson 1 1. The Architecture Business Cycle.
User interface design. Recap User Interface GUI Characteristics (Windows, Icons, Menus, Pointing, Graphics) User Centered Design User Interface Design.
Architecture, Implementation, and Testing Architecture and Implementation Prescriptive architecture vs. descriptive architecture Prescriptive architecture:
Object-Oriented Analysis and Design
What is Software Architecture?
Network Architecture and Protocol Concepts. Network Architectures (1) The network provides one or more communication services to applications –A service.
Chapter 7 Requirement Modeling : Flow, Behaviour, Patterns And WebApps.
Research on cloud computing application in the peer-to-peer based video-on-demand systems Speaker : 吳靖緯 MA0G rd International Workshop.
Page 19/4/2015 CSE 30341: Operating Systems Principles Raid storage  Raid – 0: Striping  Good I/O performance if spread across disks (equivalent to n.
The Design Discipline.
Chapter 13 Starting Design: Logical Architecture and UML Package Diagrams.
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
4 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved.
CSE 303 – Software Design and Architecture
The Architecture Business Cycle. Software Architecture Definition The software architecture of a program or computing system is the structure or structures.
Architecting Web Services Unit – II – PART - III.
1 Introduction to Software Architectures Lecture - 3.
SOFTWARE DESIGN.
SOFTWARE DESIGN Design Concepts Design is a meaningful engineering representation of something that is to be built It can be traced to a customer’s requirements.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
SE: CHAPTER 7 Writing The Program
Systems Analysis and Design in a Changing World, 3rd Edition
1 Introduction to Software Engineering Lecture 1.
Illustrations and Answers for TDT4252 exam, June
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Software Construction Lecture 18 Software Testing.
Design Concepts By Deepika Chaudhary.
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Systems.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
1 CMPT 275 High Level Design Phase Modularization.
CPSC 871 John D. McGregor Module 3 Session 1 Architecture.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
P6 BTEC Level 3 Subsidiary Diploma in ICT. Automation The end user of a spreadsheet may be proficient in using the software, but the more that you automate.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
Chapter 8 Lecture 1 Software Testing. Program testing Testing is intended to show that a program does what it is intended to do and to discover program.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Software Engineering and Object-Oriented Design Topics: Solutions Modules Key Programming Issues Development Methods Object-Oriented Principles.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
Exam 2 Review Software Engineering CS 561. Outline Requirements Development UML Class Diagrams Design Patterns Users, Usability, and User Interfaces Software.
Software Engineering Issues Software Engineering Concepts System Specifications Procedural Design Object-Oriented Design System Testing.
Chapter – 8 Software Tools.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Basic Characteristics of Object-Oriented Systems
SOFTWARE DESIGN & SOFTWARE ENGINEERING Software design is a process in which data, program structure, interface and their details are represented by well.
1.3 Operating system services An operating system provide services to programs and to the users of the program. It provides an environment for the execution.
Database Systems: Design, Implementation, and Management Tenth Edition
Architecting Web Services
Architecting Web Services
Lecture 9- Design Concepts and Principles
Software Quality Engineering
Chapter 13 Logical Architecture.
Lecture 9- Design Concepts and Principles
Starting Design: Logical Architecture and UML Package Diagrams
Chapter 13 Logical Architecture.
Analysis models and design models
Software Architecture
Presentation transcript:

1 Case Study Automatic Test System for JPEG Encoder Decoder Cards Pair Lecture - 4

2 References Chapter 3: A-7E: A Case Study in Utilising Architectural Structures from Software Architectures in Practice. Parish D.J. & Bashir O. (1998). Automated Test System for JPEG Video Encoder – Decoder Card Pairs. IEE Computing & Control Engineering Journal. 9(3). Pages 127 – 132. June Available at

3 Objectives A PC-based test station to functionally test JPEG encoder decoder card pairs. Typical equipment operation –Test program reads a test image from the disk. –Test image is loaded into the frame buffer of a frame grabber card. –Encoder compresses the test image and the decoder decompresses the compressed test image. –Frame grabber reads the reconstructed image from the decoder. –Original stimulus test image is compared with the reconstructed response image to determine the quality of the response image.

4 Equipment Configuration

5 Architectural Structures used in the Development of the Test System Module Structure Uses Structure Data Flow Structure

6 Module Structure Modules are division of work into work assignments. Modules designed using the information hiding principle –System details encapsulated in different modules. –Interface of a module reveals aspects of the system used to interface modules with each other. A module guide defines the responsibilities of each module by stating the design decisions. A module may consist of sub-modules.

7 Module Structure (Contd.) Specific goals of module decomposition –Simple module structure. –High cohesion. –Simple interfaces offering low coupling. –Implementation of one module should be change- able without affecting the behaviour of other modules. –Changes in design and implementation of modules should not affect, as much as possible, the interfaces of modules. –Changes in modules not affecting the module interfaces will allow integration and testing of new modules without affecting the remaining system.

8 Modules of JPEG Test System Main Application Module –Contains application-level procedures that implement the test functionality. Image Communicator –Contains modules to Communicate image data to the frame grabber card Initialise the frame grabber Command frame grabber to play or capture image Codec Interface Module –Contains modules to initialise JPEG encoders and decoders via RS-232 links.

9 Modules of JPEG Test System (Contd.) Numerical Processor Module –Contains modules that perform numerical operation on images. –Numerical operations performed include RMS Error Analysis Block Level Error Analysis Pixel Shift Analysis and Jitter Determination User Interface Module –Contains modules to Structure results for display and printing. Develop user interfaces based on menu and form fill-in interaction mechanisms.

10 Modular Decomposition Image Communicator Stimulus Writer Stimulus Reader Frame Grabber Numerical Processor RMS Error Analyser Pixel Shift Analyser Image Block Analyser Pixel Shift and Jitter Analyser User Interface Results Presenter Menu and Forms Generator Main Application System Initialiser Application User Interface Module Diagnostic Initiator

11 Uses Structure Module structure contains no information about the runtime execution of software. Module structure does not contain information as to how two procedures in different modules interact. Procedure A uses procedure B if a correctly functioning procedure B is present. Units of uses structure are procedures. Usage restrictions between procedures of two modules are considered to be shared by all procedures of these modules.

12 Uses Structure (Contd.) Modules in a uses structure may be related through allowed-to-use relationship. Uses structure is conceptually documented with a binary matrix. –Rows and columns each list every procedure in the system. –If element (m,n) is true procedure m is allowed to use procedure n. Difference between calls and uses structures –A procedure A need not call another procedure B to be able to use the results generated by procedure B. –A procedure A can call another procedure B and not use the results generated by procedure B.

13 Uses Structure (Contd.) A system is partitioned into layers. A procedure at a particular level is allowed to use a procedure at the same or different levels. Uses structure describes the manner in which modules interact with each other at runtime to accomplish tasks. Uses structure provides implementers information about the interfaces required.

14 Uses Structure for the JPEG Codec Test System Main Application Image Communicator Codec Interface Numerical Processor User Interface

15 Uses Structure for the JPEG Codec Test System (Contd.) No procedure in any module is allowed to use any procedure in the main application. Procedures in all modules use procedures in the user interface modules via UI callbacks. Procedures in remaining modules are used only by procedures in the main application.

16 Data Flow Structures Units of data flow structures are programs or modules. Links between units represent may-send-to relationship. Links are labeled with the name of the data exchanged between the units. Data flow structures essentially describe the initial coarse grained specification of data and information produced and consumed by the system and its modules.

17 Data Flow Structure of JPEG Codec Test System Main Application Image Communicator Codec Interface Numerical Processor User Interface Image Data To/From Disk Image Data To/From Frame Grabber Prompts and Messages User Commands Commands to Codec Codec Status Image Data Processing Results Progress Messages To/From Codec