Lecturer: Simon Winberg Lecture 21 Reflections, key steps* and A short comprehensive assignment * Relates to Martinez, Bond and Vai Ch 4.

Slides:



Advertisements
Similar presentations
Basic SDLC Models.
Advertisements

Ch-11 Project Execution and Termination. System Testing This involves two different phases with two different outputs First phase is system test planning.
2003 Mateusz Żochowski, Marcin Borzymek Software Life Cycle Analysis.
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 2- Software Process Models and Project.
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
Software Project Management
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
ISNE101 Dr. Ken Cosh. Recap  We’ve been talking about Software…  Application vs System Software  Programming Languages  Vs Natural Languages  Syntax,
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Alternate Software Development Methodologies
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
CS 5150 Software Engineering
1 SOFTWARE LIFE-CYCLES Beyond the Waterfall. 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance The WATERFALL.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Software Engineering.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Software Engineering For Beginners. General Information Lecturer, Patricia O’Byrne, office K115A. –
Notion of a Project Notes from OOSE Slides - modified.
Software Engineering For Beginners. General Information Lecturer, Patricia O’Byrne. – Times: –See noticeboard outside.
SDLC. Information Systems Development Terms SDLC - the development method used by most organizations today for large, complex systems Systems Analysts.
1. Learning Outcomes At the end of this lecture, you should be able to: –Define the term “Usability Engineering” –Describe the various steps involved.
Quality of Information systems. Quality Quality is the degree on which a product satifies the requirements Quality management requires that : that requirements.
INTROSE Introduction to Software Engineering Raymund Sison, PhD College of Computer Studies De La Salle University Software: Definitions,
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 2- Software Process Models and Project.
Lecturer: Simon Winberg Lecture 21 Reflections, key steps* and A short comprehensive assignment * Relates to Martinez, Bond and Vai Ch 4. Attribution-ShareAlike.
Public Advice Traveling Help DSD Course – Project final Presentation School of Innovation, Design and Engineering Malardalen University Jan 15 th, 2008.
1 CSE 403 Software Lifecycle Models Reading: Rapid Development Ch. 7, 25 (further reading: Ch. 21, 35, 36, 20) These lecture slides are copyright (C) Marty.
IT Systems Analysis & Design
1 BTEC HNC Systems Support Castle College 2007/8 Systems Analysis Lecture 9 Introduction to Design.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Software Engineering Management Lecture 1 The Software Process.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
University of Virginia Software Development Processes (CS340 John Knight 2005) 1 Software Development Processes.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Systems Analysis and Design in a Changing World, Fourth Edition
PROC-1 1. Software Development Process. PROC-2 A Process Software Development Process User’s Requirements Software System Unified Process: Component Based.
Software Engineering - Abdul Majeed. What is software? Definition of Software Engineering Software Process Generic view of Software Engineering Software.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Developed by Reneta Barneva, SUNY Fredonia The Process.
SWE 513: Software Engineering
Software Development Life Cycle (SDLC)
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Software Lifecycle Models A software lifecycle model is a standardised format for planning organising, and running a new development project.
CS223: Software Engineering Lecture 18: The XP. Recap Introduction to Agile Methodology Customer centric approach Issues of Agile methodology Where to.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
© 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang 6-1 Chapter 6 Decision Support System Development.
Victoria Ibarra Mat:  Generally, Computer hardware is divided into four main functional areas. These are:  Input devices Input devices  Output.
Chapter 2- Software Development Process  Product Components  Software Project Staff  Software Development Lifecycle Models.
C_ITIP211 LECTURER: E.DONDO. Unit 1 : The Systems Development Environment.
The Software Development Process. Contents  Product Components  Software project staff  Software development lifecycle models.
Advanced Software Engineering Dr. Cheng
Software Development.
Business System Development
Unit 6 Application Design KLB Assignment.
Methodologies and Algorithms
Software Life Cycle “What happens in the ‘life’ of software”
Modern Systems Analysis and Design Third Edition
Business System Development
Chapter 2 SW Process Models
IT Systems Analysis & Design
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Information Systems Development (ISD) Systems Development Life Cycle
SDLC (Software Development Life Cycle)
Modern Systems Analysis and Design Third Edition
Presentation transcript:

Lecturer: Simon Winberg Lecture 21 Reflections, key steps* and A short comprehensive assignment * Relates to Martinez, Bond and Vai Ch 4.

 Key steps to consider  Class activity:  A comprehensive short assignment to discuss in groups

 As per general development projects, Reconfigurable and High-performance computing systems have a similar set of phases: Main phases of development (usually starts with requirements; the subsequent iterations start with a requirements review and deciding what next to do.) Starting small (i.e. from centre of spiral), with little risk. Adding features and mitigating risk with each additional iteration. Review Design and Implementation Testing / Release / Planning Analysis A spiral* model view of development * B. W. Boehm, “A spiral model of software development and enhancement,” Computer, vol. 21, pp , 1988.

Spiral model Martinez, Bond and Vai, 2008, “High Performance Embedded Computing Handbook”, CSC Press, pg 43.

 Keep in mind the main recurring phases of the spiral model: Review Testing and Planning of next iteration Analysis Design / implementation / prototype Consider that you are embarking on a project that involves developing a face recognition system for The Hawks *. The system is accessed via possibly (very low budget) workstation PCs, which are used to upload photos to a remote central computing site where the face recognition functions are run. The central computing site comprises a fast PC with one or more digital accelerator to do the main number crunching. (to next slide..) * The Hawks, officially called the ‘Police's Directorate for Priority Crime Investigation’, is the South African current take on the US’s version of the FBI.

 Form into groups to discussion:  How would the first step of the spiral model be carried out for the face recognition system  What are some of the risks to content with for the first thing to carry out  What would you do to test and analyse the results (if applicable)  What would the next cycle involve?

System-level analysis and testing  Analyse for communication bottlenecks  Analyse for sequences of operations (arithmetic, memory access, etc)  Identify flexibility and key parameters (algorithm vs. architecture parameters) Architecture-level analysis and testing  ALU and processing kernel definitions  Memory profiling  Alternatives types configurability  Sequencer/scheduler development and connection paths Implementation  Software model(s) developed at architecture specification stage  Software APIs and integration with behavioural models & prototyped hardware  VLSI- and FPGA-focus activities: checking timing and routability constraints

 RAD = Rapid Application Development  Speeding-up activities in each phase  Speeding up the iterative development  Building working prototypes faster to get feedback quicker (can then be directly expanded to finished system)  Intensive meetings with key individuals to get decisions faster  Problem: If not managed well, can greatly increase the development risky

 Requirements Analysis  Nothing recorded / no written requirements  Requirements vague or insufficiently described  No directions on user interface  No end-user involvement (occasionally difficult to organize)  Design  Insufficient design and planning done  No documents (or poorly formed)  Inefficient data structures / file formats  Infrequent or no design reviews  Lack of consultation/input from experts and senior engineering staff

 Implementation  Lack of, or insufficient coding standards  Infrequent or no code reviews  Poor in-line code documentation  Subsystem/component testing & Integration  Insufficient component testing  Incomplete testing or running ineffective tests  No quality assurance

 How can we avoid making the mistakes that lead to project failure? Besides the obvious point of having competent staff?  Apparently* the answer is simply:  By using “simple common sense… which is often ignored in systems projects.”*  Need the three pillars of success:  A sound methodology  Solid technical leadership by someone who’s successfully done a similar project  Management support * M. I. Sanchez-Segura, J. García, A. Amescua, F. Medina-Dominguez, and A. Mora-Soto, “A Study on How Software Engineering Supports Projects Management,” Innovative Techniques in Instruction Technology, E-learning, E-assessment, and Education, pp , sound methodology Good leadership Management support

 Please ready through the rest of CH4 on your own. We’ve already seen much of what is said there, and experienced simplified instances of the development issues in pracs.

End of Content Lectures! for EEE4084F Next Lecture: Recap and Exam syllabus