1. Trang chủ
  2. » Công Nghệ Thông Tin

Software design: Lecture 10 - Sheraz Pervaiz

19 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Software design - Lecture 10. The main topics covered in this chapter include: software design components; coincidental cohesion – lowest cohesion; module with multiple argument; logical cohesion; temporal cohesion; procedural cohesion;...

1 Software Design Lecture : 10 Cohesion       A  measure  of  the  closeness  of  the  relationships  between elements of a component or "module" of a  system 3 Software Design Components Ø Principle  Ø Criteria (this lecture) Ø Techniques Range of Cohesion High Cohesion Functional Sequential Communicational Procedural Temporal Logical Coincidental Low Coincidental Cohesion – Lowest  Cohesion ü Definition: Parts of the component are only  related by their location in source code ü A coincidentally cohesive module is one whose  activities have no meaningful relationship to one  another 8 Example – Module with multiple  argument i Print next line ii Reverse string of characters in second argument iii Add 7 to 5th argument iv Convert 4th argument to float  All the above functions have no  Logical Cohesion Ø Definition: A logically cohesive module is one whose  elements contribute to activities of the same general  category in which the activity or activities to be executed  are selected  from outside the module Ø Several logically related elements are in the same  component and one of the elements is selected by the  client component.  10 Example­ I/O Operation ü A component reads inputs from tape, disk, and network.  All the code for these functions are in the same  component.  ü Only one type of  reading mechanism will be used by the  calling  method  not all 11 Another Example of Logical  Cohesion Ø Someone considering  to travel  might compile the  following list:  i GO BY CAR  ii GO BY TRAIN  iii GO BY BOAT  iv GO BY PLANE  12 TEMPORAL COHESION Ø A temporally cohesive module is one which performs  several activities that are related in time Ø Temporally cohesive modules typically consist of partial  activities whose only relationship to one another is that  13 Example i TURN OFF TV  ii Turn Off the Light iii Lock the main door iv BRUSH TEETH  14 Example ü One of the most common examples of a temporally  cohesive module is an initialization routine that  initializes data used by many modules throughout a  system 15 Procedural Cohesion Ø Definition: Elements of a component are related  only to ensure a particular order of execution Ø  Module with (only) procedural cohesion is one  supporting different and possibly unrelated  activities, in which control passes from one  activity to the next 16 Example ü i the intent of this  Read part number from  data base ii update repair record on  maintenance file May be useful to abstract  sequence. Make the data  base and repair record  components handle  reading and updating.  Make component that  handles more abstract  operation 17 Communicational Cohesion Ø Definition: Module performs a series of actions related  by a sequence of steps to be followed by the product and  all actions are performed on the same data Ø A  communication ally cohesive module is one which  performs several   functions  on the same input or output  18 Example Ø Update record in data base and send it to the  printer Ø Obtain author, title, or price of book from  bibliographic record, based on a passed flag 19 Module Example ü module determine customer details       use customer account no       find customer name       find customer loan balance       return customer name, customer loan balance    endmodule  ... relationships  between elements of a component or "module" of a  system 3 Software? ?Design Components Ø Principle  Ø Criteria (this? ?lecture) Ø Techniques Range of Cohesion High Cohesion Functional Sequential... Several logically related elements are in the same  component and one of the elements is selected by the  client component.  10 Example­ I/O Operation ü A component reads inputs from tape, disk, and network.  All the code for these functions are in the same 

Ngày đăng: 05/07/2022, 13:59

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN