By Topic

IEEE Software

Issue 2 • Date March-April 2006

Filter Results

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

    Publication Year: 2006, Page(s): c1
    Request permission for commercial reuse | PDF file iconPDF (626 KB)
    Freely Available from IEEE
  • [Inside front cover]

    Publication Year: 2006, Page(s): c2
    Request permission for commercial reuse | PDF file iconPDF (690 KB)
    Freely Available from IEEE
  • Congratulations to the 2005 CSDPs

    Publication Year: 2006, Page(s): 1
    Request permission for commercial reuse | PDF file iconPDF (1260 KB)
    Freely Available from IEEE
  • Table of contents

    Publication Year: 2006, Page(s):2 - 3
    Request permission for commercial reuse | PDF file iconPDF (503 KB)
    Freely Available from IEEE
  • Article summaries

    Publication Year: 2006, Page(s): 4
    Request permission for commercial reuse | PDF file iconPDF (32 KB)
    Freely Available from IEEE
  • Building References for the Future

    Publication Year: 2006, Page(s):5 - 7
    Request permission for commercial reuse | PDF file iconPDF (160 KB) | HTML iconHTML
    Freely Available from IEEE
  • Business Lessons for Software Developers

    Publication Year: 2006, Page(s): 8
    Request permission for commercial reuse | PDF file iconPDF (184 KB) | HTML iconHTML
    Freely Available from IEEE
  • Characterizing classes

    Publication Year: 2006, Page(s):9 - 11
    Cited by:  Papers (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (352 KB) | HTML iconHTML

    Class characterization is a key step of object design. It serves two purposes: to clarify at a glance some important aspects of a class's expected behavior and to communicate its design intent to others. Depending on the type of systems we design and build, we naturally find certain characterizations to be more compelling than others. Recognizing and choosing effective characterizations is an esse... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Improving the predictable assembly of service-oriented architectures

    Publication Year: 2006, Page(s):12 - 15
    Cited by:  Papers (14)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (200 KB) | HTML iconHTML

    Object technology's development and wide adoption has improved software applications' modularity, extensibility, and reusability. An approach that's complementary to OO software reuse entails using "Web services and service-oriented architectures". We propose an intermediate approach to Web service specification. Our technique integrates the use of regular expressions in WSDL specifications to con... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • On Architecture

    Publication Year: 2006, Page(s):16 - 18
    Cited by:  Papers (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (904 KB) | HTML iconHTML

    For the past two years, the author has been working to create a handbook of software architecture (www.booch.com/architecture) and will continue to work on it for another two to three years. The handbook’s primary goal is to codify the architecture of 100 interesting software-intensive systems, presenting them in a manner that exposes their essential patterns and permits comparisons across do... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • 10 small steps to better requirements

    Publication Year: 2006, Page(s):19 - 21
    Cited by:  Papers (8)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (288 KB) | HTML iconHTML

    Project teams can take several small, easy steps to improve requirements to the point where they're good enough. But every project is different. Your team might need to take steps that wouldn't be right in other situations. The author lists 10 basic steps to improve requirements. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • The Past, Present, and Future for Software Architecture

    Publication Year: 2006, Page(s):22 - 30
    Cited by:  Papers (55)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (680 KB) | HTML iconHTML

    It's been 10 years since David Garlan and Mary Shaw wrote their seminal book Software Architecture Perspective on an Emerging Discipline, since Maarten Boasson edited a special issue of IEEE Software on software architecture, and since the first International Software Architecture Workshop took place. What has happened over these 10 years? What have we learned? Where do we look for information? Wh... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • The golden age of software architecture

    Publication Year: 2006, Page(s):31 - 39
    Cited by:  Papers (78)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (296 KB) | HTML iconHTML

    Since the late 1980s, software architecture has emerged as the principled understanding of the large-scale structures of software systems. From its roots in qualitative descriptions of empirically observed useful system organizations, software architecture has matured to encompass a broad set of notations, tools, and analysis techniques. Whereas initially the research area interpreted software pra... View full abstract»

    Freely Available from IEEE
  • In practice: UML software architecture and design description

    Publication Year: 2006, Page(s):40 - 46
    Cited by:  Papers (46)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (416 KB) | HTML iconHTML

    The Unified Modeling Language has attracted many organizations and practitioners. UML is now the de facto modeling language for software development. Several features account for its popularity: it's a standardized notation, rich in expressivity; UML 2.0 provides 13 diagram types that enable modeling several different views and abstraction levels. Furthermore, UML supports domain-specific extensio... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Software architecture-centric methods and agile development

    Publication Year: 2006, Page(s):47 - 53
    Cited by:  Papers (36)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (120 KB) | HTML iconHTML

    The agile software development paradigm and plan-driven approaches each have their strengths and shortcomings. The former emphasizes rapid, flexible development, while the latter emphasizes project and process infrastructure. Many practitioners, particularly of agile methods, tend-to view software architecture in light of the plan-driven side of the spectrum. They think that architecture-centric m... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Using architectural patterns and blueprints for service-oriented architecture

    Publication Year: 2006, Page(s):54 - 61
    Cited by:  Papers (44)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (120 KB) | HTML iconHTML

    Using software patterns and blueprints to express a service-oriented architecture's fundamental principles supports the efficient use of SOA technologies for application development. Understanding SOA and all of its implications for software applications requires introducing a set of architectural principles that define SOA more concretely. Software patterns and blueprints can accommodate both for... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Using architecture models for runtime adaptability

    Publication Year: 2006, Page(s):62 - 70
    Cited by:  Papers (74)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (240 KB) | HTML iconHTML

    Every software system has architecture. The architecture strongly influences the software system's properties, including maintainability and runtime properties such as performance and reliability. By describing the architecture in models, we can make the architecture explicit. Developers typically use software architecture models at design time to capture the significant decisions about a software... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Architecture description languages for high-integrity real-time systems

    Publication Year: 2006, Page(s):71 - 79
    Cited by:  Papers (3)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (216 KB) | HTML iconHTML

    Safety-critical systems, such as those in the avionics, automotive, power, space, and medical industries, are predominantly driven by real-time embedded software and are often referred to as high-integrity real-time systems (HIRTS). In these systems, safety is of paramount importance. Safety is broadly defined as freedom from accidents and loss. When no safe alternative to normal service exists, a... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A fault-tolerant architectural approach for dependable systems

    Publication Year: 2006, Page(s):80 - 87
    Cited by:  Papers (12)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (152 KB) | HTML iconHTML

    A system's structure enables it to generate its intended behavior from its components' behavior. A well-structured system simplifies relationships among components, which can increase dependability. With software systems, the architecture is an abstraction of the structure. Architectural reasoning about dependability has become increasingly important because emerging applications are increasingly ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Using wikis in software development

    Publication Year: 2006, Page(s):88 - 91
    Cited by:  Papers (30)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (784 KB)

    Wikis are especially useful in distributed projects: many teams around the world use them to organize, track, and publish their work. Their flexibility frees a project manager from fretting about getting everything exactly right from the beginning. A wiki can and should change to respond to the project's needs as they arise. While wikis are always easy to change, wiki engines usually incorporate c... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Bug busters

    Publication Year: 2006, Page(s):92 - 93
    Cited by:  Papers (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (144 KB) | HTML iconHTML

    One way to deal with bugs is to avoid them entirely. The approach would be wasteful because we'd be underutilizing the many automated tools and techniques that can catch bugs for us. Most tools for eliminating bugs work by tightening the specifications of what we build. At the program code level, tighter specifications affect the operations allowed on various data types, our program's behavior, an... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Emphasizing human capabilities in software development

    Publication Year: 2006, Page(s):94 - 101
    Cited by:  Papers (45)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (152 KB) | HTML iconHTML

    People are a critical software development issue, and the human dimension can be even more important than the technical. An important part of human resources management is assigning people to development roles. This process isn't just crucial for generating productive teams; it can also help software organizations develop systematic long-term competence. Despite the importance of identifying the r... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Coupling metrics for ontology-based system

    Publication Year: 2006, Page(s):102 - 108
    Cited by:  Papers (25)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (136 KB) | HTML iconHTML

    Measuring system coupling is a commonly accepted software engineering practice associated with producing high-quality software products. Coupling metrics traditionally measure data passed across a module interface to determine couplings between modules in a given system. XML has become common in Internet-based application domains such as business-to-business and business-to-consumer applications, ... View full abstract»

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

    Publication Year: 2006, Page(s):109 - 111
    Request permission for commercial reuse | PDF file iconPDF (76 KB) | HTML iconHTML
    Freely Available from IEEE
  • Software developer profession expanding

    Publication Year: 2006, Page(s):112 - 115
    Cited by:  Papers (2)
    Request permission for commercial reuse | PDF file iconPDF (62 KB)
    Freely Available from IEEE

Aims & Scope

IEEE Software 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