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

Slides:



Advertisements
Similar presentations
Basic SDLC Models.
Advertisements

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
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Alternate Software Development Methodologies
Introduction to Software Engineering Lecture 4 André van der Hoek.
Lecturer: Simon Winberg Lecture 21 Reflections, key steps* and A short comprehensive assignment * Relates to Martinez, Bond and Vai Ch 4.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Software Engineering For Beginners. General Information Lecturer, Patricia O’Byrne, office K115A. –
Notion of a Project Notes from OOSE Slides - modified.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Software Engineering For Beginners. General Information Lecturer, Patricia O’Byrne. – Times: –See noticeboard outside.
Introduction to Computer Technology
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.
Lecture 6: Design of Parallel Programs Part I Lecturer: Simon Winberg Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
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.
Public Advice Traveling Help DSD Course – Project final Presentation School of Innovation, Design and Engineering Malardalen University Jan 15 th, 2008.
1 Advanced Computer Programming Project Management: Software Life Cycle Copyright © Texas Education Agency, 2013.
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.
© The McGraw-Hill Companies, An Introduction Chapter 1 Software Project Management 4 th Edition Robert Hughes and Mike Cotterell.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Introduction to Interactive Media The Interactive Media Development Process.
Software Engineering Management Lecture 1 The Software Process.
111 Notion of a Project Notes from OOSE Slides – a different textbook used in the past Read/review carefully and understand.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
1 Activities covered by project management Feasibility study Is project technically feasible and worthwhile from a business point of view? Planning Only.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
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
1 Chapter 3 1.Quality Management, 2.Software Cost Estimation 3.Process Improvement.
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
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.
Developed by Reneta Barneva, SUNY Fredonia The Process.
Software Development Life Cycle (SDLC)
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
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.
Lecture 4: Lecturer: Simon Winberg Temporal and Spatial Computing, Shared Memory, Granularity Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
Victoria Ibarra Mat:  Generally, Computer hardware is divided into four main functional areas. These are:  Input devices Input devices  Output.
Lecture 5: Lecturer: Simon Winberg Review of paper: Temporal Partitioning Algorithm for a Coarse-grained Reconfigurable Computing Architecture by Chongyong.
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.
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
EEE4084F Digital Systems NOT IN 2017 EXAM Lecture 25
Business System Development
IT Systems Analysis & Design
EEE4084F Digital Systems NOT IN 2018 EXAM Lecture 24X
Lecture 09:Software Testing
Lecture 18 X: HDL & VHDL Quick Recap
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
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. Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)

 Key steps to consider  Class activity: (take home?)  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 (Boehm, 1988) See discussion in Martinez, Bond and Vai, 2008, “High Performance Embedded Computing Handbook”, CSC Press, pg 43. Image from Wikipedia open commons

 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. Face detection (green boxes) followed by face identification Image source – Wikipedia open commons

 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 Summary slides available! Please see EEE4084F-Review.pptx

End of Slideshow

Image sources: Face identification image; crowd scene – Wikipedia open commons Group task image – OpenClipart.org Sunset – flickr open commons Composite project success image – sources include flickr and openclipart.org Disclaimers and copyright/licensing details I have tried to follow the correct practices concerning copyright and licensing of material, particularly image sources that have been used in this presentation. I have put much effort into trying to make this material open access so that it can be of benefit to others in their teaching and learning practice. Any mistakes or omissions with regards to these issues I will correct when notified. To the best of my understanding the material in these slides can be shared according to the Creative Commons “Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)” license, and that is why I selected that license to apply to this presentation (it’s not because I particulate want my slides referenced but more to acknowledge the sources and generosity of others who have provided free material such as the images I have used).