Presentation is loading. Please wait.

Presentation is loading. Please wait.

Design in IS Development. IS Design in general The satisfaction of new information requirements. Considering the interaction between humans and the new.

Similar presentations


Presentation on theme: "Design in IS Development. IS Design in general The satisfaction of new information requirements. Considering the interaction between humans and the new."— Presentation transcript:

1 Design in IS Development

2 IS Design in general The satisfaction of new information requirements. Considering the interaction between humans and the new IS - “the quality without a name” (Gabriel) Creative consideration of the fit between an IS and its human environment

3 Design in O-O systems development Design of classes - attributes and operations Creation of implementation classes (e.g. for user interface) Grouping of classes into packages - aids further abstraction.

4 Design of Objects Establish important attributes and operations for each class. Establish data type for each attribute (range depends on implementation tool used) Establish operations that use the attributes (responsibilities of the class)

5 Good object design Two essential concepts: coupling and cohesion Coupling = extent to which one module needs to be informed about the contents of another or receive messages from it. Cohesion = extent to which the components of a module are logically related

6 Minimise Coupling Message passing between classes is essential but should be minimised: can complicate a system if over-used. Classes should be as self-contained as possible. But note: inheritance is effectively a form of strong coupling.

7 Maximise cohesion “cohesion measures the degree of connectivity among elements of a single module” (Booch). Attributes clearly describe the same type of object. Operations use the attributes to perform actions relevant to that class.

8 Lecturer lecturerName lecturerAddress roomNumber roomLength roomWidth calculateRoomSpace() Figure 13.7 Good operation cohesion but poor class cohesion. (Bennett et al)

9 Sequence Diagrams Show an interaction between objects arranged in a time sequence Can be drawn at different levels of detail and to meet different purposes at several stages in the development life cycle Typically used to represent the detailed object interaction that occurs for one use case or for one operation

10 Sequence Diagrams Vertical dimension shows time Objects involved in interaction appear horizontally across the page and represented by lifelines Messages are shown by a solid horizontal arrow The execution of an operation is shown by an activation

11 Sequence diagram :Client :Campaign :Advert getName() listCampaigns() listAdverts() *getCampaign Details() Advert() *getAdvert Details() newAd:Advert addNewAdvert() Object lifeline Activation Object creation Campaign Manager

12 Boundary & Control Classes listCampaigns() *getCampaignDetails() Advert() *getAdvertDetails() addNewAdvert() :AddAdvertUI :AddAdvert :Client :Campaign :Advert showClientCampaigns() selectClient() selectCampaign() showCampaignAdverts() listAdverts() createNewAdvert() addNewAdvert() newAd:Advert startInterface() *getClient() Campaign Manager

13 Reflexive Messages :Client :Campaign :Advert getName() listCampaigns() checkCampaignBudget() *getCampaign Details() *getCost() getOverheads() Campaign Manager

14 Focus of Control Indicates times during an activation when processing is taking place within that object Parts of an activation that are not within the focus of control represent periods when, for example, an operation is waiting for a return from another object May be shown by shading those parts of the activation rectangle that correspond to active processing by an operation

15 Focus of Control :Client :Campaign :Advert getName() listCampaigns() checkCampaignBudget() *getCampaignDetails() * getCost() getOverheads() Campaign Manager

16 Return A return is a return of control to the object that originated the message that began the activation Returns are shown with a dashed arrow, but it is optional to show them at all since it can be assumed that control is returned to the originating object at the end of the activation

17 Message Types A synchronous message or procedural call, shown with a full arrowhead, causes the invoking operation to suspend execution until the focus of control has been returned to it An asynchronous message, drawn with an open arrowhead, does not cause the invoking operation to halt execution while it awaits a return

18 Object Destruction listAdverts() deleteAdvert() Object destruction :Campaign :Advert destroy() *getAdvertDetails() X


Download ppt "Design in IS Development. IS Design in general The satisfaction of new information requirements. Considering the interaction between humans and the new."

Similar presentations


Ads by Google