Assignment Help From Requirements Elicitation to Implementation Requirements

  • Slides: 10
Download presentation
Assignment Help From Requirements Elicitation to Implementation

Assignment Help From Requirements Elicitation to Implementation

Requirements Elicitation • Requirements Elicitation = communication between developers, clients and users for defining

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.

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

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

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 Lo. D.

Singleton Aspects aspect Id {. . . } aspect Id issingleton {. . .

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 aspect. Of() defined on the aspect -- so, in the above examples, A. aspect. Of() 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

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. aspect. Of(Object) can be used to get the

perthis The static method call A. aspect. Of(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

End

percflow • you can use a percflow aspect to ferry additional state to a

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