Team Think For You. Outline  Introduction  Process  Requirements Engineering  Architecture  Detailed Design  Testing  Demo  Extensibility  Conclusions.

Slides:



Advertisements
Similar presentations
FROM INCEPTION TO ELABORATION Use Cases, Domain Models & SSDs Oh My!
Advertisements

ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
1 Software Testing and Quality Assurance Lecture 13 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Object-Oriented Software Development CS 3331 Fall 2009.
© AgiliX Agile Development Consulting Agile Software Architecture Cesario Ramos.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Software Testing and Quality Assurance
Software Engineering I Object-Oriented Design
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Design Patterns.
Object-oriented design CS 345 September 20,2002. Unavoidable Complexity Many software systems are very complex: –Many developers –Ongoing lifespan –Large.
The Software Development Standards Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
CMPT 275 Software Engineering
Chapter 7 Requirement Modeling : Flow, Behaviour, Patterns And WebApps.
COMP 6471 Software Design Methodologies Winter 2006 Dr Greg Butler
Chapter 13 Starting Design: Logical Architecture and UML Package Diagrams.
UML - Development Process 1 Software Development Process Using UML (2)
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
CLEANROOM SOFTWARE ENGINEERING.
Software Development Stephenson College. Classic Life Cycle.
An Introduction to Software Architecture
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
Instructor: Peter Clarke
Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006 An Introduction to.
Requirements To Design--Iteratively Chapter 12 Applying UML and Patterns Craig Larman.
HCI in Software Process Material from Authors of Human Computer Interaction Alan Dix, et al.
Key Takeaway Points A use case is a business process; it begins with an actor, ends with the actor, and accomplishes a business task for the actor. Use.
Information System Development Courses Figure: ISD Course Structure.
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
Drexel University CS 451 Software Engineering Winter Yuanfang Cai Room 104, University Crossings
INFO 637Lecture #101 Software Engineering Process II Review INFO 637 Glenn Booker.
Systems Analysis and Design in a Changing World, 3rd Edition
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 11 Slide 1 Design.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
♦ Use Case Model  Detailled use case - Important  Use case diagram- Refactoring Use case diagram  > 1 Last Lectures.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
Chapter 1 Applying UML and Patterns. The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
Team TFY (Think For You).  Problems we want to solve  What we showed last time  Our new solutions now  Our feature list  Issues identified so far.
Scenario-Based Analysis of Software Architecture Rick Kazman, Gregory Abowd, Len Bass, and Paul Clements Presented by Cuauhtémoc Muñoz.
Introduction to OOAD and the UML
1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 7/e Chapter 2.
Introduction to OOAD & Rational Rose cyt. 2 Outline RUP OOAD Rational Rose.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Designing a Product Line Architecture Jan Bosch Professor of Software Engineering University of Groningen, Netherlands
Jonathan Drake, Neil Howerton, Katie Kester, Doug Siemon.
Prof. Hany H. Ammar, CSEE, WVU, and
4+1 View Model of Software Architecture
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
V-Shaped Software Development Life Cycle Model. Introduction: Variation of water fall model. Same sequence structure as water fall model. Strong emphasis.
CS 4311 Software Design and Implementation Spring 2013.
Introduction. System Design Hardware/Software Platform Selection Software Architectures Database Design Human-Computer Interaction (HCI) Interface Object.
Object-Orientated Analysis, Design and Programming
(Complex) Problem domain Requirements Specification
Instructor: Dr. Hany H. Ammar
Chapter 1: Introduction to Systems Analysis and Design
UNIT 1.
Systems Analysis and Design With UML 2
CSE 403 Software Engineering
Authors: Khaled Abdelsalam Mohamed Amr Kamel
Unified Modeling Language
Object oriented analysis and design
Starting Design: Logical Architecture and UML Package Diagrams
OBJECT ORIENTED ANALYSIS AND DESIGN
Practical Software Engineering
An Introduction to Software Architecture
Chapter 1: Introduction to Systems Analysis and Design
Chapter 8, Design Patterns Introduction
Chapter 1: Introduction to Systems Analysis and Design
Software Development Process Using UML Recap
Presentation transcript:

Team Think For You

Outline  Introduction  Process  Requirements Engineering  Architecture  Detailed Design  Testing  Demo  Extensibility  Conclusions

Introduction The Problem: Who’s Affected? Goals (How we solve the problem) Capture multiple types of contextual info. about user’s past behavior Sort options using a combination of captured info. Display options in order of user’s most likely need Too many options/config. settings in HOPE

Our Process  (Re)planning, Risk mitigation, issues resolution, SDM, tradeoff analysis, WBS, SVN  SW Dev. Process Interleaving, Iterative (Agile) and Incremental Fluid Teams(RE, Arch, DD, Implementation, QA) 2 Iterations: IterationActivities 1Problem + Domain analysis POC with 1 usage stat. type (frequency) 22 usage stat. type (frequency + time of day) Adaptive AHP, integration and testing

Requirements (Analysis) – One Example

Architecture Team TFY used Software Architecture Analysis Method (SAAM):

Architecture Three options considered: 1. Delegate the responsibility of filtering things and actions to a module that wraps data access and updates statistics 2. Refactor existing architecture into a layered configuration, then extend business logic layer for context awareness 3. Map all the points of change in the current system to extend with context-sorting logic

Architecture Candidate evaluation Criterion\OptionOption 1 Delegate Option 2 Refactor Option 3 Map Maintainability (e.g., understandability, ease of updating) Integrability (e.g., in terms of concurrent features under development) Implementation Cost (e.g., time) +--- Extensibility (e.g. add, change, future growth) Configurability (e.g., add settings to control behavior of feature) ++ --

Architecture Candidate evaluation Criterion\OptionOption 1 Delegate Option 2 Refactor Option 3 Map Maintainability (e.g., understandability, ease of updating) Integrability (e.g., in terms of concurrent features under development) Implementation Cost (e.g., time) +--- Extensibility (e.g. add, change, future growth) Configurability (e.g., add settings to control behavior of feature) ++ --

Architecture Static perspective UML component diagram

Architecture Interaction perspective UML sequence diagram (for things and verbs after user clicks on sort button)

Architecture Interaction perspective UML sequence diagram (for things and verbs after icon click event, upon icon selection)

Detailed Design  Methodology OO modeling, SDM, issue and conflict resolution  Scientific research  Design patterns Adapter, Template, Strategy, Observer...  Design principles High cohesion (single responsibility) and low coupling (data dependency)

Detailed Design

 Adapter

Detailed Design

 Template

Detailed Design

 Strategy

Detailed Design

Testing  Test plan  Criteria for testing completeness SRS  Techniques: Code Inspection Scenario based white-box verification ○ detailed design sequence diagrams Functional testing Formal verification using Alloy model finder

DEMO

Update ...

Sort

Conclusion  Our Contributions to HOPE: Use of contextual information to sort icons in order of user's most likely need refactored HOPE code to make it more maintainable formal model checking to test aspects of our model design is easily extensible to allow for future addition of more types of contextual information as criteria in the sorting  Other Applications (Frequency and Time) TV Listings Music Playlist

Questions?