By Topic

Software, IEEE

Issue 5 • Date Sept.-Oct. 2006

Filter Results

Displaying Results 1 - 25 of 28
  • [Front cover]

    Page(s): c1
    Save to Project icon | Request Permissions | PDF file iconPDF (506 KB)  
    Freely Available from IEEE
  • Inside Front Cover

    Page(s): c2
    Save to Project icon | Request Permissions | PDF file iconPDF (664 KB)  
    Freely Available from IEEE
  • IEEE Computer Society Membership [advertisement]

    Page(s): 1
    Save to Project icon | Request Permissions | PDF file iconPDF (369 KB)  
    Freely Available from IEEE
  • Table of contents

    Page(s): 2 - 3
    Save to Project icon | Request Permissions | PDF file iconPDF (282 KB)  
    Freely Available from IEEE
  • Article summaries

    Page(s): 4
    Save to Project icon | Request Permissions | PDF file iconPDF (32 KB)  
    Freely Available from IEEE
  • Technology Transfer and the Tech Broker

    Page(s): 5 - 7
    Save to Project icon | Request Permissions | PDF file iconPDF (144 KB)  
    Freely Available from IEEE
  • Letters: The Cone of Uncertainty

    Page(s): 8 - 10
    Save to Project icon | Request Permissions | PDF file iconPDF (400 KB)  
    Freely Available from IEEE
  • Toward Exception-Handling Best Practices and Patterns

    Page(s): 11 - 13
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (148 KB) |  | HTML iconHTML  

    An exception condition occurs when an object or component, for some reason, can't fulfil a responsibility. Poor exception-handling implementations can thwart even the best design. It's high time we recognize exception handling's importance to an implementation's overall quality. Agreeing on a reasonable exception-handling style for your application and following a consistent set of exception-handling practices is crucial to implementing software that's easy to comprehend, evolve, and refactor. The longer you avoid exceptions, the harder it is to wedge cleanly designed exception-handling code into working software. To demystify exception-handling design, we must write about - and more widely disseminate - proven techniques, guidelines, and patterns View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Servicing Your Requirements

    Page(s): 14 - 16
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (605 KB) |  | HTML iconHTML  

    Web services are operations that users access via the Internet through a well-defined interface independent of where the service is executed. Service-centric systems integrate Web services into applications that discover, compose, invoke, and monitor these services. Developments in service-centric computing have been rapid. Most Web services come in two parts. The first is the actual software that your system will invoke when calling the service. The software itself can provide prototypes that you can execute, explore, and analyze. Are they likely to satisfy your information, performance, and availability requirements? If not, consider a solution that doesn't use Web services, or be prepared to change your requirements. The second part of a Web service is its specification. Typically, developers use specifications to discover and understand services prior to selecting and deploying them in applications View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Guest Editors' Introduction: Global Software Development: How Far Have We Come?

    Page(s): 17 - 19
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (456 KB) |  | HTML iconHTML  

    Global software development efforts have increased in recent years, and such development seems to have become a business necessity for various reasons, including cost, availability of resources, and the need to locate development closer to customers. However, there's still much to learn about global software development before the discipline becomes mature. This special issue aims to assess the gap between the state of the art and the state of the practice. It presents five articles that cover various aspects of global software development, including knowledge management strategies, distributed software development, requirements engineering, distributed requirements, and managing offshore collaboration. A Point/Counterpoint department discusses whether global software development is indeed a business necessity.This article is part of a special issue on Global Software Development. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A Practical Management and Engineering Approach to Offshore Collaboration

    Page(s): 20 - 29
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (190 KB) |  | HTML iconHTML  

    Firms developing or maintaining software products can't ignore global software development's impact. Managing multiple simultaneous projects and production support with a global staff over the last several years has also made us aware of traps to avoid. The global software development model provides a tactical approach for companies pursuing or planning to expand into offshore development. We present a practitioner's view of our model for offshore development and insights into our management and engineering techniques, which can be replicated in other environments. This article adds to the existing literature by providing a structural framework and the guidelines necessary to maintain the quality of offshore engagements View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Managing Knowledge in Global Software Development Efforts: Issues and Practices

    Page(s): 30 - 37
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (104 KB) |  | HTML iconHTML  

    Global software development efforts have increased in recent years. One force fueling these efforts is the worldwide availability of a rich and talented knowledge pool that can be effectively and efficiently mobilized, increasing the prominence of outsourcing initiatives. Outsourcing projects have moved from mundane software maintenance tasks to more complex and significant engagements such as innovative product development, complex system development, and large-scale R+D projects View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Overcoming Requirements Engineering Challenges: Lessons from Offshore Outsourcing

    Page(s): 38 - 44
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (186 KB) |  | HTML iconHTML  

    With outsourcing on the rise, every relation between an outsourcer and a vendor calls for collaboration between multiple organizations across multiple locations. As part of a global IT-services organization with high process maturity, we have had many opportunities to understand the requirements engineering life cycle related to global software development. RE is a software project's most critical phase; the RE phase's success is essential for the project's success. Case studies from an Indian IT-services firm provide insights into the root causes of RE phase conflicts in client-vendor offshore-outsourcing relationships View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Distribution Dimensions in Software Development Projects: A Taxonomy

    Page(s): 45 - 51
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (164 KB) |  | HTML iconHTML  

    For many economic and technological reasons, companies are increasingly conducting projects on a global level. Global projects are highly distributed, with experts from different companies, countries, and continents working together. Such distribution requires new techniques for project coordination, document management, and communication. Distribution complexities include various project types - such as global, interorganizational, or open source software projects - that is distributed in different ways and face particular challenges. A literature-based taxonomy identifies four distribution dimensions in distributed software development. A case study illustrates their application in a real-world development project View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Enabling Collaboration in Distributed Requirements Management

    Page(s): 52 - 61
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (918 KB) |  | HTML iconHTML  

    Requirements management, one of the most collaboration-intensive activities in software development, presents significant difficulties when stakeholders are distributed, as in today's global projects. Because of inadequate social contact, geographically distributed practitioners without appropriate tool support have trouble gaining a consistent understanding of requirements or managing requirement changes. We can alleviate many of these difficulties by integrating collaboration support in practitioners' work environments. With these needs in mind, we developed a new collaborative tool named EGRET (eclipse-based global requirements tool) for distributed requirements management View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Point/Counterpoint

    Page(s): 62 - 65
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1654 KB) |  | HTML iconHTML  

    Global software development has become a business necessity for competitive enterprises. IT service providers have started adopting low-cost GDMs over the past few years. Proven models exist, and different IT service provider types are converging around these models. Offshore players are adding more domain expertise and improving their account management while onshore players are embracing CMM integration and building large employee footprints in places like India. The bottom line is that GDMs are now going mainstream View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Test Optimization Using Software Virtualization

    Page(s): 66 - 69
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (318 KB) |  | HTML iconHTML  

    Virtualization of operating systems has recently become a hype, although the concept is very old. Virtualization lets us group resources logically and thus abstract from the dependencies that physical implementations create. For operating systems, virtualization lets us reduce resource constraints and expenses for a multitude of interacting hardware and operating systems. This is helpful in scenarios with many such dependencies, such as testing. This article briefly introduces virtualization from a tester's perspective. It summarizes experiences and compares different virtualization approaches: architectural, logical, and physical. Only the test itself remains a necessary reality View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Open Source and Professional Advancement

    Page(s): 70 - 71
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (113 KB) |  | HTML iconHTML  

    Open source software development efforts offer us professionals a new and valuable way to obtain significant experience in a wide range of areas and to advance professionally. The most obvious way for a professional to benefit from open source software is by fixing and improving existing open source code. Many open source projects have lists chock-full of exciting additions and obscure bugs eagerly waiting for us developers to get our hands on them. By joining an existing open source software project, we can immediately practice the art of maintaining other people's code and sharpen our corresponding skills View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • When Politics Overshadow Software Quality

    Page(s): 72 - 73
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (197 KB) |  | HTML iconHTML  

    Software quality is subject to the politics of 1) control, when one person can tell others how things will be done; 2) position, when an individual's rank in the corporate structure influences outcomes; 3) power, when one individual has power over another, as with setting salaries. In turn, the politics of control, position, and power affect what questions are asked, who may ask them, and what the "right" questions are. And the question asked can control outcomes. When all these political factors - control, position, power, and questions - converge, the politics of communications and marketing come into play. These determine what people hear and how interaction styles affect outcomes. Everyone in the corporate hierarchy must consider these political realities View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Listen to Your Tools and Materials

    Page(s): 74 - 80
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (122 KB) |  | HTML iconHTML  

    Design principles are intended to guide us as we create models and ultimately code. They discipline the way we use our materials to create an artifact, whether it's a GUI mockup, a UML diagram, or a piece of code. In this view, design is a monologue: the designer shapes the material. The material isn't talking back, except by assuming the shape we impose into it. Reflections in action and on action are learning concepts that let us view software engineering as a conversation with our design materials View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Improving Software Development through Three Stages

    Page(s): 81 - 87
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (83 KB) |  | HTML iconHTML  

    In this article, the author describes the efforts since 1993 to improve software process and achieve a predictable software development cycle. This process improvement went through three stages involving 16 projects View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • How Much Software Quality Investment Is Enough: A Value-Based Approach

    Page(s): 88 - 95
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (266 KB) |  | HTML iconHTML  

    This article draws on results from the emerging field of value-based software engineering (VBSE). VBSE aims to provide a quantitative approach to questions as how much software quality investment is enough. Based on the COCOMO II cost-estimation model and the COQUALMO quality-estimation model, quantitative risk analysis helps determine when to stop testing software and release the product. Further, we show how the model and approach can assess the relative payoff of value-based testing as compared to value-neutral testing View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • In the News

    Page(s): 96 - 98
    Save to Project icon | Request Permissions | PDF file iconPDF (40 KB)  
    Freely Available from IEEE
  • Bookshelf

    Page(s): 99 - 101
    Save to Project icon | Request Permissions | PDF file iconPDF (67 KB)  
    Freely Available from IEEE
  • Real-Time Software Engineering, Part 2

    Page(s): 102
    Save to Project icon | Request Permissions | PDF file iconPDF (41 KB)  
    Freely Available from IEEE

Aims & Scope

IEEE Software's mission is to build the community of leading and future software practitioners. The magazine delivers reliable, useful, leading-edge software development information to keep engineers and managers abreast of rapid technology change

Full Aims & Scope

Meet Our Editors

Editor-in-Chief
Diomidis Spinellis
Athens University of Economics and Business
28is Oktovriou 76
Athina 104 33, Greece
dds@computer.org