ISBN : 978-81-963532-2-3 (E-Book) if configuration management is not used. Inconsistency problem when the objects are replicated. A scenario can be consideredwhere every software engineer has a personal copy of an object (e.g. source code). Aseach engineer makes changes to his local copy, he is expected to intimate them to otherengineers, so that the changes in interfaces are uniformly changed across all modules.However, many times an engineer makes changes to the interfaces in his local copies andforgets to intimate other teammates about the changes. This makes the different copies oftheobjectinconsistent.Finally,whentheproductisintegrated,itdoesnotwork.Therefore, when several team members work on developing an object, it is necessary forthem to work onasinglecopyoftheobject, otherwiseinconsistencymayarise. Problemsassociatedwithconcurrentaccess.Supposethereisasinglecopy ofaproblemmodule,andseveralengineersareworkingonit.Twoengineersmaysimultaneously carry out changes to different portions of the same module, and whilesaving overwrite each other. Though the problem associated with concurrent access toprogramcodehasbeenexplained,similarproblemsoccurforany otherdeliverableobject. Providing a stable development environment. When a project is underway, the teammembers need a stable environment to make progress. Suppose somebody is trying tointegrate module A, with the modules B and C, he cannot make progress if developer ofmodule C keeps changing C; this can be especially frustrating if a change to module Cforces him to recompile A. When an effective configuration management is in place, themanager freezes the objects to form a base line. When anyone needs any of the objectsunderconfigurationcontrol,heisprovidedwithacopy ofthebaselineitem.Therequester makes changes to his private copy. Only after the requester is through with allmodifications to his private copy, the configuration is updated and a new base line getsformed instantly. This establishes a baseline for others to use and depend on. Also,configuration may be frozen periodically. Freezing a configuration may involve archivingeverything needed to rebuild it. (Archiving means copying to a safe place such as amagnetictape). System accountingandmaintainingstatusinformation.Systemaccountingkeepstrackof who madeaparticular changeand whenthechangewas made. Handling variants. Existence of variants of a software product causes some peculiarproblems. Suppose somebody has several variants of the same module, and finds a bug inone of them. Then, it has to be fixed in all versions and revisions. To do it 195 Software Engineering Keerthana P, Manasa KN, Ganga D Bengal
201 Publizr Home