Architecture of software is a collection of design decisions that are expensive to change. Now to identify. which design decisions are expensive to change? What are architecture views and which views are needed to ade...
详细信息
ISBN:
(纸本)0769510507
Architecture of software is a collection of design decisions that are expensive to change. Now to identify. which design decisions are expensive to change? What are architecture views and which views are needed to adequately describe the architecture of a specific system? How to create and manage software architecture for a product family? This tutorial offers answers to these and other questions that arise in the context of complex software development. We introduce a system of concepts useful in order to understand, design, and evaluate architecture of software intensive systems and system families. Our approach utilizes different software structures in order to control important system qualities related to its development, performance, and evolution. We draw our experience primarily from software embedded in voice and data communication systems. However the same principles can be applied to software architecture in other domains. This tutorial should be useful to engineers and technical managers involved in construction or evaluation of complex software.
Agile approaches formally appeared ten years ago and nowadays are a valid alternative for organizations developing software. Agile methodologies are especially interesting to those developing Web environments applicat...
详细信息
ISBN:
(纸本)9789536071432
Agile approaches formally appeared ten years ago and nowadays are a valid alternative for organizations developing software. Agile methodologies are especially interesting to those developing Web environments applications, as they can fit properly the special characteristics of this type of developments. In addition, maturity models like CMMI-DEV (Capability Maturity Model Integration for Development) focus on assessing the maturity level of organizations developing or acquiring software. These models are well established and can increment quality of development processes to enhance costumers' satisfaction. CMMI-DEV level 3 provides a good compromise on maturity gained and effort needed. The feasibility of getting it through a combination of Agile methods can be very useful to organizations developing systems in Web environments, as they can keep the adaptability of Agile together with a more mature development process. This paper proposes a set of Agile methods so as to reach all CMMI-DEV maturity level 3 generic and specific goals. Based on this analysis, the paper proposes further research lines.
This paper addresses the issue of software cost estimation through fuzzy decision trees, aiming at acquiring accurate and reliable effort estimates for project resource allocation and control. Two algorithms, namely C...
详细信息
According to data received from an international survey, almost 6800 students are enrolled in softwareengineering degree programs in ii countries, as of January, 2001. A total of 94 academic programs in software engi...
详细信息
ISBN:
(纸本)0769510507
According to data received from an international survey, almost 6800 students are enrolled in softwareengineering degree programs in ii countries, as of January, 2001. A total of 94 academic programs in softwareengineering are in place at 60 universities with 350 full-time faculty and nearly 200 part-time faculty teaching hundreds of undergraduate and graduate courses in the discipline. Over 5500 people have obtained degrees in softwareengineering since 1979. The authors are conducting the first of an ongoing annual survey of international academic softwareengineering programs, as a joint ACM/IEEE-CS project. This status report covers: history, audience, initial survey, initial partial results available on the WWW, request for evaluation of WWW-site, request for additional questions for next version of survey, time-line for next version of the survey, "lessons learned," and some future directions. The annual report and survey results will be posted on a wide variety of web pages. A more current report, based on the sabbatical of the first author, will be presented at the conference. The sabbatical involves the initial development of an "internationalsoftwareengineering University Consortium - ISEUC." A sample scenario for an employee in industry who becomes a student in ISEUC is given.
The cohesion is a major attribute for software modules and it is used in softwareengineering as an important software quality factor. Module cohesion indicates how much the components of a module are related. In soft...
详细信息
ISBN:
(纸本)0889864640
The cohesion is a major attribute for software modules and it is used in softwareengineering as an important software quality factor. Module cohesion indicates how much the components of a module are related. In softwareengineering, highly cohesive modules are more desirable due to their reusability and maintainability. Cohesion is classified into levels. Functional cohesion is the strongest cohesion level and it refers to how much the module parts that contribute to different outputs are related. data slicing has been successfully used in measuring functional cohesion. In this paper, a novel technique is introduced to measure the functional cohesion of a module. The technique uses the distance between module data slices as a basis to measure the functional cohesion. The technique is evaluated by showing that the intuition is consistent with the measurement values.
Jun is a large open-source graphics and multimedia library. It is object-oriented and supports 3D geometry. topography and multimedia. This paper reviews the development of the Jun library from five perspectives. open...
详细信息
ISBN:
(纸本)0769510507
Jun is a large open-source graphics and multimedia library. It is object-oriented and supports 3D geometry. topography and multimedia. This paper reviews the development of the Jun library from five perspectives. open-source, software evolution processes. development styles. technological support, and development data. We conclude the paper with lessons learned from the perspective of a for-profit company providing open-source object-oriented software to the community.
An emerging tapestry of computations will soon integrate systems around the globe. It will evolve without central control. Its complexity will be vast. We need new ideas, tools and methods to help map, understand and ...
详细信息
ISBN:
(纸本)0769510507
An emerging tapestry of computations will soon integrate systems around the globe. It will evolve without central control. Its complexity will be vast. We need new ideas, tools and methods to help map, understand and manage this tapestry. We contribute a light-weight architectural aspect that designers can use without compromising their own architectural preferences. Widespread use could help. The idea is for objects to provide web-based interfaces to object-specific meta-data, state, and monitoring and control services. We discuss applications, implementation, scalability, performance, tradeoffs, and related work.
Computer Science often seems distant from its natural science cousins, especially softwareengineering which feels closer to sociology and psychology than to physics. Physical measurements are often rare in software e...
详细信息
ISBN:
(纸本)9781509018550
Computer Science often seems distant from its natural science cousins, especially softwareengineering which feels closer to sociology and psychology than to physics. Physical measurements are often rare in softwareengineering, except in a few niches. One such important niche is that of software energy consumption, green mining, green IT, and sustainable computing, which all fall under the umbrella of green softwareengineering. With the physical measurement of energy consumption comes all of the limitations of measurement and experimentation that exist in the natural sciences and engineering. Issues abound, from attribution of energy use, isolation of components, to replicable experiments. These get further complicated by cloud computing whereby systems are virtualized and attribution of resource usage is a serious issue. Thus in this work we discuss the current state of software energy consumption, and where will it go.
This paper describes an evaluation of the reverse engineering capabilities of three Web tools for understanding sire content and structure. The evaluation is based on partitioning Web sites into three classes (static,...
详细信息
ISBN:
(纸本)0769510507
This paper describes an evaluation of the reverse engineering capabilities of three Web tools for understanding sire content and structure. The evaluation is based on partitioning Web sites into three classes (static, interactive, and dynamic), and is structured using an existing reverse engineering environment framework (REEF). This case study also represents an initial evaluation of the applicability of the REEF in the related but qualitatively different domain of Web sires. The case study highlights several shortcomings of current Web tools in the context of aiding understanding to support evolution. For example, most Web tools are geared rewards new page design and development, not to understanding derailed page content or overall site structure. The evaluation also identified some aspects of the REEF that might benefit from refinement to better reflect Web tool capabilities that support common evolution tasks. For example, Web server log file analysis as a specialized form of data gathering and subsequent information presentation.
暂无评论