41

ISBN : 978-81-963532-2-3 (E-Book) • Smaller components are easier to maintain • Program can be divided based on functional aspects • Desired level of abstraction ca n be brought in the program • Components with high cohesion can be re-used again. • Concurrent execution can be made possible • Desired from security aspect Concurrency Back in time, all softwares were meant to be executed sequentially. By sequential execution we mean that the coded instruction will be executed one after another implying only one portion of program being activated at any given time. Say, a software has multiple modules, then only one of all the modules can be found active at any time of execution. In software design, concurrency is implemented by splitting the software into multiple independent units of execution, like modules and executing them in parallel. In other words, concurrency provides capability to the software to execute more than one part of code in parallel to each other. It is necessary for the programmers and designers to recognize those modules, which can be made parallel execution. Example The spell check feature in word processor is a module of software, which runs alongside the word processor itself. Coupling and Cohesion When a software program is modularized, its tasks are divided into several modules based on some characteristics. As we know, modules are set of instructions put together in order to achieve some tasks. They are though, considered as single entity but may refer to each other to work together. There are measures by which the quality of a design of modules and their interaction among them can be measured. These measures are called coupling and cohesion. 36 Software Engineering Keerthana P, Manasa KN, Ganga D Bengal

42 Publizr Home


You need flash player to view this online publication