Group 9 “The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the.

Slides:



Advertisements
Similar presentations
An Overview of ABFT in cloud computing
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Chapter Thirteen Conclusion: Where We Go From Here.
Object-Oriented Analysis and Design LECTURE 3: REQUIREMENTS DISCIPLINE.
Object-Oriented Software Development CS 3331 Fall 2009.
10 Software Engineering Foundations of Computer Science ã Cengage Learning.
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
Introduction To Rational Rose CS 501 Recitation Session November 1, 1999.
Multimedia & Website Design Working in Teams. This week Look at team work issues in web design Plan file and directory conventions Introduce formal software.
10th Workshop "Software Engineering Education and Reverse Engineering" Ivanjica, Serbia, 5-12 September 2010 First experience in teaching HCI course Dusanka.
Chapter 10: Architectural Design
COMPUTER SCIENCE 10: INTRODUCTION TO COMPUTER SCIENCE Dr. Natalie Linnell with credit to Cay Horstmann and Marty Stepp.
Introduction - The Need for Data Structures Data structures organize data –This gives more efficient programs. More powerful computers encourage more complex.
Software Architecture premaster course 1.  Israa Mosatafa Islam  Neveen Adel Mohamed  Omnia Ibrahim Ahmed  Dr Hany Ammar 2.
“Faultless to a fault.” - Robert Browning Albert Hsu
Program Design ENGR 1181 MATLAB 01. Program Design in Real Life Complex manufacturing processes require careful logic mapping to determine what actions.
Chapter 7 Requirement Modeling : Flow, Behaviour, Patterns And WebApps.
Teaching Teaching Discrete Mathematics and Algorithms & Data Structures Online G.MirkowskaPJIIT.
Software Engineering CS B Prof. George Heineman.
The Architecture Business Cycle. Software Architecture Definition The software architecture of a program or computing system is the structure or structures.
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
Methodology in Research Md Yazid Mohd Saman Date: 01-Sep-15.
Introduction To System Analysis and Design
Software Engineering EKT 420 MOHAMED ELSHAIKH KKF 8A – room 4.
CONTENTS:  Introduction  What is neural network?  Models of neural networks  Applications  Phases in the neural network  Perceptron  Model of fire.
Software Architecture in Practice Architectural description (The reduced version)
Chapter 9 Moving to Design
WSMX Execution Semantics Executable Software Specification Eyal Oren DERI
CSE 219 Computer Science III Program Design Principles.
Mobile robot controller Group 2. Group 2 - Robot controller project - TDT4240 Software Architecture Group 2 Leif Hamang Bru Lisa W. Eriksen Kay Are Ulvestad.
Mid-term Progress Report Isaac Rieksts My web site
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
System Context and Domain Analysis Abbas Rasoolzadegan.
CPSC 372 John D. McGregor Module 3 Session 5 Assignment and References.
Basic Concepts of Component- Based Software Development (CBSD) Model-Based Programming and Verification.
1-1 Software Development Objectives: Discuss the goals of software development Identify various aspects of software quality Examine two development life.
Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.
Week 2 Introduction to Data Modelling
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
GUI For Computer Architecture May01-05 Team Members: Neil HansenCprE Ben JonesCprE Jon MathewsCprE Sergey SannikovCprE Clients/Advisors: Manimaran Govindarasu.
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
Computer Science 340 Software Design & Testing Software Architecture.
TK2023 Object-Oriented Software Engineering CHAPTER 9 INTRODUCTION TO OBJECT DESIGN.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Coming up: Unified Modeling Language Introduction.
CS223: Software Engineering Lecture 5: Software Development Models.
Lecture 1: Introduction – Graduation Projects Topics to Discuss in Lectures 1. Project Deliverables 2. Course grading 3. Project Concept Writing.
Group 3 Ballfinder a highly modifiable system. Introduction Quality attribute: Modifiability Environment: Random maze Known number of balls One light.
CS223: Software Engineering
CS223: Software Engineering Lecture 13: Software Architecture.
An Introduction to UML COMS 103 section 4 11 January, 1999.
+ Informatics 122 Software Design II Lecture 13 Emily Navarro Duplication of course material for any commercial purpose without the explicit written permission.
WELCOME TO OUR PRESENTATION UNIFIED MODELING LANGUAGE (UML)
Wrap up. Structures and views Quality attribute scenarios Achieving quality attributes via tactics Architectural pattern and styles.
GCSE Computer Science Content Overview
Elaboration popo.
DATA REQIREMENT ANALYSIS
Datab ase Systems Week 1 by Zohaib Jan.
Introduction Robotics Challenge
Object-Oriented Analysis and Design
Presentation of Flowchart
Unified Modeling Language
Group 4 Anders Linseth Magdalena Lipska Nicolai Friis Tobias Melcher
Software Life Cycle Models
Learning to Program in Python
Agenda Warmup Lesson 4.5 (Program Design & Analysis)
Completing and Presenting the Class Project
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
Presentation transcript:

Group 9 “The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them”

Group members Mirela Divic Anders Magnus Braathen Hans Rasmussen Bjørn-Erik Stenbakk

Introduction Quality attributes in focus  Performance  Availability

Approach Phase 1:  Started out with Req. Spec. & Arch. design.  ….and doing it all over again Phase 2:  The ATAM Phase 3:  Implementation

Quality tactics Performance  Algorithm  Representation of the encountered world in the robots memory Availability  Preventing faults  Recovery

Our architecture Changed during implementation Described with three different views UML class diagram most valuable during implementation

Logical view

Development view 3. Controller 2. StateManager, PathRecorder 1. SensorInterpreter, Engine, Paths

Implementation Plan:  App. 1+ week figuring out the existing code and implemententing simple tasks  App. 1+ week making our Controller as we wanted it  App. 1+ week testing and writing final report  (NB! Everybody had other courses to attend as well)

Implementation The plan worked fairly well More time-consuming to implement simple tasks than expected More time-consuming to implement the final Controller Testing was done during implementation

Lessons learned (1/2) Framework:  Architecture depends on existing framework  Made a lot of ”hacks” to make it work

Lessons learned (2/2) ATAM  Evaluating another team’s architecture  Having our own architecture evaluated Programming AI

Results (1/3) Difficult to draw map by sensor-readings  Had to use a different approach  Robot best suited for following walls Excluding the need for complex search- algorithms

Results (2/3) The robot is able to:  Find and recognize balls  Find and recognize light  Record path when searching Efficient movement between encountered items  Avoid crashing and getting stuck (in most situations)

Results (3/3) Areas of improvement  Better recognition of balls  Controlled termination when finished or stuck  What to do when encountering a second ball

Conclusion Unable to fulfill all the requirements  Time consuming Final implementation differs somewhat from the original architecture Hard to keep architecture in focus  Simulator offers limited flexibility Low level experience in AI programming  Challenging task