Designing, 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: