The article focuses on the impact of reuse on quality and productivity in object-oriented computer systems. Reuse is assumed to be an effective strategy for building high-quality software. However, there is currently ...
详细信息
The article focuses on the impact of reuse on quality and productivity in object-oriented computer systems. Reuse is assumed to be an effective strategy for building high-quality software. However, there is currently little empirical information about what to expect from reuse in terms of productivity and quality gains. software reuse can help produce quality software more quickly. software reuse is the process of using existing software artifacts instead of building them from scratch. Broadly speaking, the reuse process involves three steps: selecting a reusable artifact, adapting it to the purpose of the application and integrating it into the software product under development. The major motivation for reusing software artifacts is to decrease softwaredevelopment costs and cycle time by reducing the time and human effort required to build software products. Some research suggests that software quality can be improved by reusing quality software artifacts. Some work has also hypothesized that software reuse is an important factor in reducing maintenance costs because, when reusing quality objects, the time and effort required to maintain software products can be reduced.
We report the findings from three studies of softwaredevelopment projects using a series of questions framed to provide a more detailed understanding than usually pertains of the management and organization, outcomes...
详细信息
We report the findings from three studies of softwaredevelopment projects using a series of questions framed to provide a more detailed understanding than usually pertains of the management and organization, outcomes and derivations of work organization. We discuss some practical and theoretical implications of this work;in particular we conclude that these are knowledge intensive work organizations, that current theory is ill-equipped to address these practices, and that their analysis and understanding requires both organizational and cognitive explanations.
The design of safety-critical user interfaces is typically very different from that of many other applications. Reactor control systems and aircraft cockpits are complex and dynamic, open to input from many different ...
详细信息
The design of safety-critical user interfaces is typically very different from that of many other applications. Reactor control systems and aircraft cockpits are complex and dynamic, open to input from many different users and devices. A number of formal notations, including Z and temporal logic, have been developed to address these problems. They provide precise and concise means of representing a potential design before designers incur the expense of implementation. Consequently, government bodies and commercial organizations have recommended that these techniques be used when tendering for their contracts. However, there are a number of limitations that restrict the use of mathematical specifications for interface development in large scale projects. In particular, formal notations cannot easily be used to coordinate the activities of human factors and systems engineering teams. This creates particular difficulties if some group members have only a limited understanding of discrete mathematics. A further problem is that the development of a safety-critical application may take many months, or even years, to complete. This creates difficulties because abstract mathematical specifications cannot be used easily by new members of a development team to understand past design decisions. To avoid these limitations I have developed a literate approach to interface specification. This technique uses a formal development language and a semiformal design rationale to support the design of safety-critical user interfaces.
The article focuses on the design and implementation of distributed computer systems. Despite significant common experience and a good deal of success, the cost and complexity of distributed programming continues to b...
详细信息
The article focuses on the design and implementation of distributed computer systems. Despite significant common experience and a good deal of success, the cost and complexity of distributed programming continues to be high. Increasingly, project managers look to object-oriented (OO) programming to improve productivity in this area. In order for distributed programming to derive benefits from OO, encouraging the reuse of proven distributed solutions is crucial. In developing distributed programs, successful designers have focused on two important requirements: performance and fault tolerance. Therefore, distributed design patterns should highlight the aspects of a solution that address these requirements. One such OO design pattern, the Recoverable Distributor, allows mixing and matching of fault-tolerance and data-consistency protocols and has been used in a distributed scheduler and a distributed lock manager. Recoverable Distributor is an essential design pattern in fault-tolerant, state-sharing distributed programs. It emphasizes the significance of performance, fault detection, and recovery in such programs. This article presents this pattern and describes how it is used in two commercial distributed programs.
This paper describes an empirical study of software design processes in which both cognitive (i.e. planning the work process, knowledge about strategies) and organizational (i.e. work characteristics) factors were exa...
详细信息
This paper describes an empirical study of software design processes in which both cognitive (i.e. planning the work process, knowledge about strategies) and organizational (i.e. work characteristics) factors were examined. Thirty-five software designers with an average professional experience of 6.6 years worked on a software design task in a laboratory setting. Thinking-aloud protocols were analysed, and additional interview and questionnaire data were gathered. It was found that software designers do very little explicit planning but have a broad knowledge of useful strategies. Results of regression analyses indicated that the amount of explicit planning and knowledge of strategies is predicted by the amount of design work to accomplish, communication and cooperation requirements, and control at work.
The article focuses on the pros and cons of adopting and applying design patterns, which are a valuable tool for the practicing software professionals. Design patterns provide a standard vocabulary among developers. T...
详细信息
The article focuses on the pros and cons of adopting and applying design patterns, which are a valuable tool for the practicing software professionals. Design patterns provide a standard vocabulary among developers. They provide a list of things to look for during a design review and a list of things that must be taught in a course on object oriented design. They communicate information between designer, programmer at a significantly higher level than individual classes or functions. They can be used as a documentation tool to classify the fragments of a design, making it easier for a team to absorb new developers. In addition, they can be used to build robust designs with design level parts that have well understood trade-offs. This way requires designer to perform a degree of high-level pattern matching. They are classified along various axes, such as purpose, scope and jurisdiction. These classifications are helpful to people who already understand design patterns, especially when determining whether a newly proposed pattern is redundant with another pattern that already exists. To maximize the benefit of a design pattern, it should be applied uniformly throughout the organization, and expectation should be managed carefully.
The article discusses issues related to Internet access controls. The Platform for Internet Content Selection establishes Internet conventions for label formats and distribution methods while dictating neither a label...
详细信息
The article discusses issues related to Internet access controls. The Platform for Internet Content Selection establishes Internet conventions for label formats and distribution methods while dictating neither a labeling vocabulary nor who should pay attention to which labels. It is analogous to specifying where on a package a label should appear and in what font size it should be printed without specifying what it should say. Not everyone needs to block reception of the same materials. Parents may not wish to expose their children to sexual or violent images. Businesses may want to prevent their employees from visiting recreational sites during hours of peak network usage. There should be some way to block only the inappropriate material. Appropriateness however, is neither an objective nor a universal measure. computersoftware can implement access controls that take all these factors into account. Selection software can meet diverse needs by blocking reception, and labels are raw materials for implementing context specific selection criteria.
On the basis of a longitudinal field study of 29 commercial softwaredevelopment projects, the pros and cons of user centredness in softwaredevelopment were analysed. We looked at two concepts: user participation-an ...
详细信息
On the basis of a longitudinal field study of 29 commercial softwaredevelopment projects, the pros and cons of user centredness in softwaredevelopment were analysed. We looked at two concepts: user participation-an organizational device-involving a user representative in the team, and user orientation-a cognitive-emotional concept-which pertains to positive attitudes towards users. Both were found to be associated with project difficulties relating to process and product quality as well as overall project success. We suggest that the issue is no longer whether or not to involve users, but instead to develop a realistic understanding of the difficulties associated with user centredness.
The article examines the usage of computer-Aided software/Systems Engineering (CASE) tools in a wide variety of organizations. CASE tools are claimed to increase information systems and softwaredevelopment effectiven...
详细信息
The article examines the usage of computer-Aided software/Systems Engineering (CASE) tools in a wide variety of organizations. CASE tools are claimed to increase information systems and softwaredevelopment effectiveness in terms of productivity of systems development and the quality of the developed systems. Assuming CASE adoption decisions are based on 'rational' arguments concerning the impact on the system's quality and systems development productivity, one could expect organizational CASE use to be higher. One can imagine a host of explanations for this discrepancy. One explanation is that CASE tools are relatively expensive and associated training costs may exceed the original price of the tool. Another explanation might be that the benefits of CASE do not accrue uniformly to all stakeholder groups affected, leading to resistance by some groups. The research reviewed indicates CASE use varies considerably from organization to organization. This variation in CASE usage may also explain some of the variation in the results concerning CASE effectiveness.
Certain design projects raise difficult user-interface problems that are not easily amenable to designers' intuition or rapid prototyping due to their novelty, conceptual complexity, and the difficulty of conducti...
详细信息
Certain design projects raise difficult user-interface problems that are not easily amenable to designers' intuition or rapid prototyping due to their novelty, conceptual complexity, and the difficulty of conducting appropriate user studies. Interpersonal access control in computer-mediated communication (CMC) systems is just such a problem. We describe a collection of systematic theory-based analyses of a system prototype that inherited its control mechanism from two preexisting systems. We demonstrate that the collective use of system and user modeling techniques provides insight into this complex design problem and enables us to examine the implications of design decisions for users and implementation. The analyses identify a number of weaknesses in the prototype and are used to propose ways of making substantive refinements to improve its simplicity and appropriateness for two tasks: altering one's accessibility and distinguishing between who can make what kinds of connections. We conclude with a discussion of some critical issues that are relevant for CMC systems, and reflect on the process of applying formal human-computer interaction (HCI) techniques in informal, exploratory design contexts.
暂无评论