From Requirements Elicitation to Implementation

Slides:



Advertisements
Similar presentations
AspectWerkz 2 - and the road to AspectJ 5 Jonas Bonér Senior Software Engineer BEA Systems.
Advertisements

EECE 310: Software Engineering Modular Decomposition, Abstraction and Specifications.
1 If we modify the machine for the language from F12 p. 47 we can easily construct a machine for the language Observation Turing machine for the language.
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
Secure Systems Research Group - FAU Aspect Oriented Programming Carlos Oviedo Secure Systems Research Group.
Road Map Introduction to object oriented programming. Classes
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
University of British Columbia Software Practices Lab CAS Seminar 06 Fluid AJ - A Simple Fluid AOP Tool Terry Hon Gregor Kiczales.
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
Collaboration Diagrams. Example Building Collaboration Diagrams.
Requirements Elicitation Chapter 4. Establishing Requirements Two questions –What is the purpose of the system –What is inside and what is outside the.
Evan Korth New York University Computer Science I Classes and Objects Professor: Evan Korth New York University.
Terms and Rules Professor Evan Korth New York University (All rights reserved)
More on AspectJ. aspect MoveTracking { private static boolean _flag = false; public static boolean testAndClear() { boolean result = _flag; _flag = false;
The different kinds of variables in a Java program.
Data Structures and Programming.  John Edgar2.
Outline Introduction Problem Statement Object-Oriented Design Aspect-Oriented Design Conclusion Demo.
VERIFICATION OF ASPECT ORIENTED MODELS BY DON MARTIN JAYASHREE VENKIPURAM PATHANGI PIYUSH SRIVASTAVA REFERENCES F. Mostefaoui and J. Vachon,” Design level.
Object-Oriented Analysis and Design An Introduction.
Session 26 Modeling the Static View: The Deployment Diagram Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 27, 2011 Presented.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
What to remember from Chap 13 (Logical architecture)
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Inter-Type Declarations in AspectJ Awais Rashid Steffen Zschaler © Awais Rashid, Steffen Zschaler 2009.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
COMP 6471 Software Design Methodologies Winter 2006 Dr Greg Butler
Assignment Help From Requirements Elicitation to Elicitation.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Chapter 16 UML Class Diagrams.
Jonathan Drake, Neil Howerton, Katie Kester, Doug Siemon.
Object Design More Design Patterns Object Constraint Language Object Design Specifying Interfaces Review Exam 2 CEN 4010 Class 18 – 11/03.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Module: Software Engineering of Web Applications Dr. Samer Odeh Hanna 1.
Modular Decomposition, Abstraction and Specifications
Elaboration popo.
Types and Characteristics of Requirements
Algorithms and Problem Solving
UML Diagrams: Class Diagrams The Static Analysis Model
Chapter 5 System modeling
CMPE 280 Web UI Design and Development August 29 Class Meeting
Object-Oriented Programming Basics
Chapter 16 UML Class Diagrams.
Component Based Software Engineering
Behavioral Design Patterns
OO Methodology OO Architecture.
Algorithm and Ambiguity
Distribution and components
Chapter 3: Using Methods, Classes, and Objects
Discussion with Gregor Kiczales at UBC
SNSCT_CSE_PROGRAMMING PARADIGM_CS206
 DATAABSTRACTION  INSTANCES& SCHEMAS  DATA MODELS.
Interfaces.
INFS 6225 – Object-Oriented Systems Analysis & Design
Object-Oriented Analysis
What is an Architecture?
Informatics 121 Software Design I
A Pattern Language for Software Architecture
Unified Modeling Language
Patterns.
CIS 375 Bruce R. Maxim UM-Dearborn
Software Design Lecture : 15.
An Introduction to Software Architecture
Copyright 2007 Oxford Consulting, Ltd
Algorithms and Problem Solving
What is an Architecture?
Chapter 5 Architectural Design.
CIS 375 Bruce R. Maxim UM-Dearborn
Introduction to OOAD and the UML
Presentation transcript:

From Requirements Elicitation to Implementation Assignment Help From Requirements Elicitation to Implementation

Requirements Elicitation Requirements Elicitation = communication between developers, clients and users for defining a new system. In our case developers = clients = users. Developers construct a model of the application domain by observing users. Result: system specification (contract between developers and client). Form: use cases.

Requirements Elicitation System specification is further developed into an analysis model during analysis. System specification and analysis model represent same information: differ in language and notation. System specification: English. Analysis model: formal or semi-formal notation.

Requirements Elicitation A scenario describes an example of system use in terms of a series of interactions between the user and the system. A use case is an abstraction that describes a class of scenarios. Both written in natural language.

Analysis Model Program P, consider join points during execution of P, consider a predicate JPP on join points, report all join points not satisfying JPP. Offer a choice of JPP related to the LoD.

Singleton Aspects aspect Id { ... } aspect Id issingleton { ... } By default, or by using the modifier issingleton, an aspect has exactly one instance that cuts across the entire program. That instance is available at any time during program execution with the static method aspectOf() defined on the aspect -- so, in the above examples, A.aspectOf() will return A's instance. This aspect instance is created as the aspect's classfile is loaded.

perthis Per-object aspects aspect Id perthis(Pointcut) { ... } If an aspect A is defined perthis(Pointcut), then one object of type A is created for every object that is the executing object (i.e., "this") at any of the join points picked out by Pointcut. The advice defined in A may then run at any join point where the currently executing object has been associated with an instance of A.

perthis The static method call A.aspectOf(Object) can be used to get the aspect instance (of type A) registered with the object. Each aspect instance is created as early as possible, but not before reaching a join point picked out by Pointcut where there is no associated aspect of type A.

End

percflow you can use a percflow aspect to ferry additional state to a callee without changing intervening signatures.