Table Of ContentDesigning, Engineering,
and Analyzing Reliable
and Efficient Software
Hardeep Singh
Guru Nanak Dev University, India
Kulwant Kaur
Apeejay Institute of Management, India
Managing Director: Lindsay Johnston
Editorial Director: Joel Gamon
Book Production Manager: Jennifer Yoder
Publishing Systems Analyst: Adrienne Freeland
Development Editor: Myla Merkel
Assistant Acquisitions Editor: Kayla Wolfe
Typesetter: Henry Ulrich
Cover Design: Jason Mull
Published in the United States of America by
Information Science Reference (an imprint of IGI Global)
701 E. Chocolate Avenue
Hershey PA 17033
Tel: 717-533-8845
Fax: 717-533-8661
E-mail: [email protected]
Web site: http://www.igi-global.com
Copyright © 2013 by IGI Global. All rights reserved. No part of this publication may be reproduced, stored or distributed in
any form or by any means, electronic or mechanical, including photocopying, without written permission from the publisher.
Product or company names used in this set are for identification purposes only. Inclusion of the names of the products or
companies does not indicate a claim of ownership by IGI Global of the trademark or registered trademark.
Library of Congress Cataloging-in-Publication Data
Designing, engineering, and analyzing reliable and efficient software / Hardeep Singh and Kulwant Kaur, editors.
pages cm
Includes bibliographical references and index.
Summary: “This book discusses and analyzes various designs, systems, and advancements in software engineering,
concenntrating on the integration of mathematics, computer science, and practices in engineering”--Provided by publisher.
ISBN 978-1-4666-2958-5 (hardcover) -- ISBN 978-1-4666-2959-2 (ebook) -- ISBN 978-1-4666-2960-8 (print & perpetual
access) 1. Software engineering. 2. Computer software--Development. I. Singh, Hardeep, 1963- II. Kaur, Kulwant, 1968-
QA76.758.D474 2013
005.1--dc23
2012037376
British Cataloguing in Publication Data
A Cataloguing in Publication record for this book is available from the British Library.
All work contributed to this book is new, previously-unpublished material. The views expressed in this book are those of the
authors, but not necessarily of the publisher.
Editorial Advisory Board
Arvind Kalia, Himachal Pradesh University, India
Kawaljeet Singh, Punjabi University, India
N.P.Gopalan, National Institute of Technology, India
Nasib Singh Gill, M. D. University, India
Prabhat K. Mahanti, University of New Brunswick, Canada
Rajib Mall, Indian Institute of Technology, India
S. Kuppuswami, Kongu Engineering College, India
Will Tracz, Lockheed Martin Information Systems & Global Solutions (IS&GS), USA
List of Reviewers
Anirban Sarkar, National Institute of Technology, India
Anu Gupta, Panjab University, India
Ayda Saidane, University of Luxembourg, Luxembourg
Fathi Taibi, University of Management and Technology, Malaysia
G. Sreedhar, Rashtriya Sanskrit Vidyapeetha (Deemed University), India
K. K. Shukla, Banaras Hindu University, India
Kawaljeet Singh, Punjabi University, India
Kuljit Kaur, Guru Nanak Dev University, India
Neeraj Sharma, Punjabi University, India
Nitin Bhatia, DAV College, India
Parminder Kaur, Guru Nanak Dev University, India
Priyadarshi Patni, L M College of Science & Technology, India
Punam Bedi, University of Delhi, India
Rajib Mall, Indian Institute of Technology, India
Renu Dhir, Dr. B R Ambedkar National Institute of Technology, India
Thomas Bauer, Fraunhofer IESE, Germany
Table of Contents
Foreword..............................................................................................................................................xiv
Preface..................................................................................................................................................xvi
Acknowledgment...............................................................................................................................xviii
Section 1
Advanced Software Engineering
Chapter 1
Change.Management.in.Shared.Software.Specifications........................................................................1
Fathi Taibi, University of Management and Technology, Malaysia
Chapter 2
Component.Certification.Process.and.Standards...................................................................................22
Parminder Kaur, Guru Nanak Dev University, India
Hardeep Singh, Guru Nanak Dev University, India
Chapter 3
Analyzing.Growth.Trends.of.Reusable.Software.Components.............................................................40
Kuljit Kaur, Guru Nanak Dev University, India
Chapter 4
Aspect-Oriented.Recommender.Systems..............................................................................................55
Punam Bedi, University of Delhi, India
Sumit Kr Agarwal, University of Delhi, India
Section 2
Systems Analysis, Software Design, and Design Patterns
Chapter 5
Design.of.Semi-Structured.Database.System:.Conceptual.Model.to.Logical.Representation..............74
Anirban Sarkar, National Institute of Technology, Durgapur, India
Chapter 6
A.Comparative.Study.of.Bayesian.and.Fuzzy.Inference.Approach.to.Assess.Quality.of.the
Software.Using.Activity-Based.Quality.Model.....................................................................................96
Kawal Jeet, D A V College, India
Nitin Bhatia, D A V College, India
Renu Dhir, Dr. B R Ambedkar National Institute of Technology, India
Chapter 7
Data.Mining.Techniques.for.Software.Quality.Prediction...................................................................112
Bharavi Mishra, Indian Institute of Technology (BHU), India
K. K. Shukla, Indian Institute of Technology (BHU), India
Chapter 8
Quality.Assurance.of.Website.Structure..............................................................................................140
G. Sreedhar, Rashtriya Sanskrit Vidyapeetha (Deemed University), India
Chapter 9
Resolving.Conflict.in.Code.Refactoring..............................................................................................149
Lakhwinder Kaur, Apeejay Institute of Management Technical Campus, India
Kuljit Kaur, Guru Nanak Dev University, India
Ashu Gupta, Apeejay Institute of Management Technical Campus, India
Section 3
Advancements in Engineering of Systems
Chapter 10
Towards.Test-Driven.and.Architecture.Model-Based.Security.and.Resilience.Engineering..............163
Ayda Saidane, University of Luxembourg, Luxembourg
Nicolas Guelfi, University of Luxembourg, Luxembourg
Chapter 11
Software.Engineering,.Process.Improvement,.and.Experience.Management:.Is.the.Nexus
Productive?.Clues.from.the.Indian.Giants...........................................................................................189
Neeraj Sharma, Punjabi University, India
Kawaljeet Singh, Punjabi University, India
D.P. Goyal, Management Development Institute, India
Chapter 12
Usability.Engineering.Methods.and.Tools...........................................................................................202
Amandeep Kaur, Apeejay Institute of Management Technical Campus, India
Chapter 13
Innovative.Strategies.for.Secure.Software.Development....................................................................217
Punam Bedi, University of Delhi, India
Vandana Gandotra, University of Delhi, India
Archana Singhal, University of Delhi, India
Section 4
Case Studies and Emerging Technologies
Chapter 14
Case.Study:.Secure.Web.Development................................................................................................239
Daljit Kaur, Lyallpur Khalsa College, India
Parminder Kaur, Guru Nanak Dev University, India
Chapter 15
Galileo.Case.Study:.A.Collaborative.Design.Environment.for.the.European.Space.Agency’s.
Concurrent.Design.Facility..................................................................................................................251
Aggelos Liapis, European Dynamics SA, Greece
Evangelos Argyzoudis, European Dynamics SA, Greece
Chapter 16
Case.Study:.Version.Control.in.Component-Based.Systems...............................................................283
Nisha Ratti, Rayat Institute of Engineering and Technology, India
Parminder Kaur, Guru Nanak Dev University, India
Compilation of References................................................................................................................298
About the Contributors.....................................................................................................................323
Index....................................................................................................................................................330
Detailed Table of Contents
Foreword..............................................................................................................................................xiv
Preface..................................................................................................................................................xvi
Acknowledgment...............................................................................................................................xviii
Section 1
Advanced Software Engineering
Chapter 1
Change.Management.in.Shared.Software.Specifications........................................................................1
Fathi Taibi, University of Management and Technology, Malaysia
In.order.to.support.the.collaborative.development.of.software.specifications,.there.is.a.need.to.automate.
the.extraction.and.integration.of.the.parallel.changes.or.revisions.that.are.made.to.a.shared.specifica-
tion..These.revisions.are.aimed.at.reaching.a.specification.that.satisfies.the.needs.of.all.the.stakeholders..
Hence,.merging.conflicts.are.inevitable.and.must.be.detected.and.resolved.in.order.to.commit.the.changes.
made.properly.to.the.shared.specification.leading.to.a.consistent.result..A.framework.is.proposed.in.
this.chapter.to.extract.and.integrate.the.parallel.changes.made.to.Object-Oriented.formal.specifications.
in.a.collaborative.development.environment..A.formal.foundation.is.proposed.to.uniformly.define.the.
specifications,.the.revisions.made.to.them.and.the.possible.merging.conflicts..The.proposed.framework.
allows.extracting.and.integrating.the.parallel.changes.made.while.addressing.a.wide.range.of.merging.
conflicts.at.the.same.time..Evaluating.the.developed.algorithms.has.shown.good.signs.in.terms.of.ac-
curacy.and.scalability.
Chapter 2
Component.Certification.Process.and.Standards...................................................................................22
Parminder Kaur, Guru Nanak Dev University, India
Hardeep Singh, Guru Nanak Dev University, India
Component-based.technology.deals.with.the.process.of.assembling.existing.software.components.in.an.
application.such.that.they.interact.to.satisfy.a.predefined.functionality..The.success.of.component-based.
software.depends.on.system.integrator’s.ability.to.select.the.most.suitable.software.components.for.their.
intended.application.(Leavens.and.Sitaraman,.2000;.Voas.and.Payne,.2000;.Crnkovic.et.al.,.2001)..One.
persistent.and.largely.unaddressed.challenge.is.how.the.consumers.of.software.components.can.obtain.
a.meaningful.level.of.trust.in.the.runtime.behaviour.of.software.components..The.most.frequently.cited.
concerns.are.centered.on.issues.of.security.and.component.behaviour.(Wallnau,.2004)..Certification.is.a.
practical,.proven.means.of.establishing.trust.in.various.sorts.of.things.in.other.disciplines.and.is,.therefore.
a.natural.contender.for.developing.trust.in.software.components..This.is.only.possible.if.component.
suppliers.have.clear.and.reliable.information.about.their.component’s.functional.and.non-functional.
properties..The.component.attributes.allow.system.integrator.to.better.classify.the.components..The.
reliability.of.a.component-based.software.system.is.dependant.on.the.reliability.of.the.components.that.
is.made.of..Proper.search,.selection,.and.evaluation.process.of.components.is.considered.as.cornerstone.
for.the.development.of.any.effective.component-based.system.(Alexandre,.2010).This.chapter.defines.
certain.properties.of.a.component,.which.are.helpful.during.their.classification.process.along.with.
component.certification/accreditation.process,.which.further.helps.component.suppliers.to.issue.the.
guarantee.of.claimed.functional.properties.and.quality.attributes..Component.certification.framework.
is.also.discussed.to.evaluate.the.quality.of.software.components.with.the.help.of.component.quality.
model.and.measurement.mechanism.
Chapter 3
Analyzing.Growth.Trends.of.Reusable.Software.Components.............................................................40
Kuljit Kaur, Guru Nanak Dev University, India
Reusable.software.components.are.the.software.modules.that.can.be.(re)used.across.a.number.of.appli-
cations.in.a.particular.domain..Component.users.prefer.to.use.those.components.which.can.be.adapted.
easily.for.their.changing.requirements..So.components.have.to.evolve.continuously.in.order.to.attract.
users..This.chapter.focuses.on.the.evolutionary.aspects.of.software.components..It.mentions.various.
techniques.for.monitoring.software.evolution..It.uses.metrics.based.analysis.as.the.technique.to.show.
software.evolution.of.15.reusable.components.from.the.point.of.view.of.their.size,.complexity,.and.
functionality..The.evolution.analysis.is.motivated.by.laws.of.software.evolution.which.suggest.that.as.
software.ages,.it.increases.in.size.and.complexity.(unless.it.is.managed).and.it.has.to.offer.increased.
functionality.to.please.its.users..The.findings.of.the.study.indicate.that.the.size.of.the.software.com-
ponents.(in.this.data.set).grows.at.a.linear.rate,.and.complexity.is.well.managed..However,.increase.in.
functionality.is.sub.linear.for.almost.all.the.components..It.remains.almost.constant.for.some.of.them.
Chapter 4
Aspect-Oriented.Recommender.Systems..............................................................................................55
Punam Bedi, University of Delhi, India
Sumit Kr Agarwal, University of Delhi, India
Recommender.systems.are.widely.used.intelligent.applications.which.assist.users.in.a.decision-making.
process.to.choose.one.item.amongst.a.potentially.overwhelming.set.of.alternative.products.or.services..
Recommender.systems.use.the.opinions.of.members.of.a.community.to.help.individuals.in.that.community.
by.identifying.information.most.likely.to.be.interesting.to.them.or.relevant.to.their.needs..Recommender.
systems.have.various.core.design.crosscutting.issues.such.as:.user.preference.learning,.security,.mobility,.
visualization,.interaction.etc.that.are.required.to.be.handled.properly.in.order.to.implement.an.efficient,.
good.quality.and.maintainable.recommender.system..Implementation.of.these.crosscutting.design.issues.
of.the.recommender.systems.using.conventional.agent-oriented.approach.creates.the.problem.of.code.
scattering.and.code.tangling..An.Aspect-Oriented.Recommender.System.is.a.multi.agent.system.that.
handles.core.design.issues.of.the.recommender.system.in.a.better.modular.way.by.using.the.concepts.
of.aspect.oriented.programming,.which.in.turn.improves.the.system.reusability,.maintainability,.and.
removes.the.scattering.and.tangling.problems.from.the.recommender.system.
Section 2
Systems Analysis, Software Design, and Design Patterns
Chapter 5
Design.of.Semi-Structured.Database.System:.Conceptual.Model.to.Logical.Representation..............74
Anirban Sarkar, National Institute of Technology, Durgapur, India
The.chapter.focuses.on.a.graph.–.semantic.based.conceptual.data.model.for.semi-structured.data,.called.
Graph.Object.Oriented.Semi-Structured.Data.Model.(GOOSSDM),.to.conceptualize.the.different.facets.
of.such.system.in.object.oriented.paradigm..The.model.defines.a.set.of.graph.based.formal.constructs,.
varieties.of.relationship.types.with.participation.constraints..It.is.accompanied.with.a.rich.set.of.graphical.
notations.and.those.are.used.to.specify.the.conceptual.level.design.of.semi-structured.database.system..
The.approach.facilitates.modeling.of.irregular,.heterogeneous,.hierarchical,.and.non-hierarchical.semi-
structured.data.at.the.conceptual.level..The.GOOSSDM.is.also.able.to.represent.the.mixed.content.in.
semi-structured.data..Moreover,.the.approach.is.capable.to.model.XML.document.at.conceptual.level.
with.the.facility.of.document-centric.design,.ordering.and.disjunction.characteristic..The.chapter.also.
includes.a.rule.based.transformation.mechanism.for.GOOSSDM.schema.into.the.equivalent.XML.
Schema.Definition.(XSD)..Moreover,.the.chapter.also.provides.comparative.study.of.several.similar.
kinds.of.proposals.for.semi-structured.data.models.based.on.the.properties.of.semi-structured.data.and.
future.research.scope.in.this.area.
Chapter 6
A.Comparative.Study.of.Bayesian.and.Fuzzy.Inference.Approach.to.Assess.Quality.of.the
Software.Using.Activity-Based.Quality.Model.....................................................................................96
Kawal Jeet, D A V College, India
Nitin Bhatia, D A V College, India
Renu Dhir, Dr. B R Ambedkar National Institute of Technology, India
Maintainability.is.one.of.the.important.characteristics.of.quality.of.software..It.is.the.measure.of.efforts.
needed.to.modify.the.software..Large.number.of.subjective.techniques.has.been.developed.in.industry.
to.deal.with.assessment.or.prediction.of.this.characteristic..But.these.techniques.generally.fail.due.to.
their.inability.to.break.down.maintainability.to.a.level.of.actual.evaluation..They.also.lack.homogeneity.
in.the.models.thus.developed.and.so.fail.to.take.into.account.the.cost.factor.associated.with.maintain-
ability..Activity.based.quality.model.is.found.to.decompose.maintainability.to.an.actual.analyzable.level..
It.manages.maintainability.in.terms.of.software.maintenance.efforts.but.it.lacks.quantitative.evaluation.
of.this.characteristic..Bayesian.approach.to.deal.with.this.model.added.quantitative.feature.but.also.
added.crispness.to.the.system.developed..In.this.chapter,.the.authors.propose.the.use.of.fuzzy.approach.
to.correct.the.existing.Bayesian.approach.to.deal.with.activity.based.quality.model..A.comprehensive.
comparative.study.is.presented.to.show.the.effectiveness.of.proposed.technique.
Chapter 7
Data.Mining.Techniques.for.Software.Quality.Prediction...................................................................112
Bharavi Mishra, Indian Institute of Technology (BHU), India
K. K. Shukla, Indian Institute of Technology (BHU), India
In.the.present.time,.software.plays.a.vital.role.in.business,.governance,.and.society.in.general,.so.a.continu-
ous.improvement.of.software.productivity.and.quality.such.as.reliability,.robustness,.etc..is.an.important.
goal.of.software.engineering..During.software.development,.a.large.amount.of.data.is.produced,.such.as.
software.attribute.repositories.and.program.execution.trace,.which.may.help.in.future.development.and.
project.management.activities..Effective.software.development.needs.quantification,.measurement,.and.
Description:Due to the role of software systems in safety-critical applications and in the satisfaction of customers and organizations, the development of efficient software engineering is essential.Designing, Engineering, and Analyzing Reliable and Efficient Software discusses and analyzes various designs, sys