首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
Murphy  G.C. Notkin  D. 《Computer》1997,30(8):29-36
Reengineering large and complex software systems is often very costly. The article presents a reverse engineering technique and relates how a Microsoft engineer used it to aid an experimental reengineering of Excel-a product that comprises about 1.2 million lines of C code. The reflexion technique is designed to be lightweight and iterative. To use it, the user first defines a high-level structural model, then extracts a map of the source code and uses a set of computation tools to compare the two models. The approach lets software engineers effectively validate their high-level reasoning with information from the source code. The engineer in this case study-a developer with 10-plus years at Microsoft-specified and computed an initial reflexion model of Excel in a day and then spent four weeks iteratively refining it. He estimated that gaining the same degree of familiarity with the Excel source code might have taken up to two years with other available approaches. On the basis of this experience, the authors believe that the reflexion technique has practical applications  相似文献   

2.
In this paper, we describe a technique to design UML-based software models for MPSoC architecture, which focuses on the development of the platform specific model of embedded software. To develop the platform specific model, we define a process for the design of UML-based software model and suggest an algorithm with precise actions to map the model to MPSoC architecture. In order to support our design process, we implemented our approach in an integrated tool. Using the tool, we applied our design technique to a target system. We believe that our technique provides several benefits such as improving parallelism of tasks and fast-and-valid mapping of software models to hardware architecture.  相似文献   

3.
The concept of the ‘information technology (IT) artifact’ plays a central role in the information systems (IS) research community's discourse on design science. We pose the alternative concept of the ‘IS artifact’, unpacking what has been called the IT artifact into a separate ‘information artifact’, ‘technology artifact’ and ‘social artifact’. Technology artifacts (such as hardware and software), information artifacts (such as a message) and social artifacts (such as a charitable act) are different kinds of artifacts that together interact in order to form the IS artifact. We illustrate the knowledge value of the IS artifact concept with material from three cases. The result is to restore the idea that the study of design in IS needs to attend to the design of the entire IS artifact, not just the IT artifact. This result encourages an expansion in the use of design science research methodology to study broader kinds of artifacts.  相似文献   

4.
Although devices of all shapes and sizes currently dominate the technological landscape, human–computer interaction (HCI) as a field is not yet theoretically equipped to match this reality. In this article we develop the human–artifact model, which has its roots in activity theoretical HCI. By reinterpreting the activity theoretical foundation, we present a framework that helps addressing the analysis of individual interactive artifacts while embracing that they are part of a larger ecology of artifacts. We show how the human–artifact model helps structuring the understanding of an artifact's action-possibilities in relation to the artifact ecology surrounding it. Essential to the model is that it provides four interconnected levels of analysis and addresses the possibilities and problems at these four levels.

Artifacts and their use are constantly developing, and we address development in, and of, use. The framework needs to support such development through concepts and methods. This leads to a methodological approach that focuses on new artifacts to supplement and substitute existing artifacts. Through a design case, we develop the methodological approach and illustrate how the human–artifact model can be applied to analyze present artifacts and to design future ones. The model is used to structure such analysis and to reason about findings while providing leverage from activity theoretical insights on mediation, dialectics, and levels of activity.  相似文献   

5.
The artifacts constituting a software system are sometimes unnecessarily coupled with one another or may drift over time. As a result, support of software partitioning, recovery, and restructuring is often necessary. This paper presents studies on applying the numerical taxonomy clustering technique to software applications. The objective is to facilitate those activities just mentioned and to improve design, evaluation and evolution. Numerical taxonomy is mathematically simple and yet it is a useful mechanism for component clustering and software partitioning. The technique can be applied at various levels of abstraction or to different software life-cycle phases. We have applied the technique to: (1) software partitioning at the software architecture design phase; (2) grouping of components based on the source code to recover the software architecture in the reverse engineering process; (3) restructuring of a software to support evolution in the maintenance stage; and (4) improving cohesion and reducing coupling for source code. In this paper, we provide an introduction to the numerical taxonomy, discuss our experiences in applying the approach to various areas, and relate the technique to the context of similar work.  相似文献   

6.
7.
Use Case modeling is a popular technique for documenting functional requirements of software systems. Refactoring is the process of enhancing the structure of a software artifact without changing its intended behavior. Refactoring, which was first introduced for source code, has been extended for use case models. Antipatterns are low quality solutions to commonly occurring design problems. The presence of antipatterns in a use case model is likely to propagate defects to other software artifacts. Therefore, detection and refactoring of antipatterns in use case models is crucial for ensuring the overall quality of a software system. Model transformation can greatly ease several software development activities including model refactoring. In this paper, a model transformation approach is proposed for improving the quality of use case models. Model transformations which can detect antipattern instances in a given use case model, and refactor them appropriately are defined and implemented. The practicability of the approach is demonstrated by applying it on a case study that pertains to biodiversity database system. The results show that model transformations can efficiently improve quality of use case models by saving time and effort.  相似文献   

8.
Jointly working on shared digital artifacts - such as wikis - is a well-tried method of developing knowledge collectively within a group or organization. Our assumption is that such knowledge maturing is an accommodation process that can be measured by taking the writing process itself into account. This paper describes the development of a tool that detects accommodation automatically with the help of machine learning algorithms. We applied a software framework for task detection to the automatic identification of accommodation processes within a wiki. To set up the learning algorithms and test its performance, we conducted an empirical study, in which participants had to contribute to a wiki and, at the same time, identify their own tasks. Two domain experts evaluated the participants’ micro-tasks with regard to accommodation. We then applied an ontology-based task detection approach that identified accommodation with a rate of 79.12%. The potential use of our tool for measuring knowledge maturing online is discussed.  相似文献   

9.
In this article we describe the importance of reusing software artifacts resulting from the earliest stages of the development life-;cycle, i.e., software conception, requirements analysis, feasibility study, requirements specification, architectural and detailed design. Although reuse of early artifacts is deemed beneficial to software development projects, there are no readily available software tools that could facilitate their effective reuse. Hence, we identified nearly one hundred early artifact types. We analyzed, compared and contrasted them. We clustered similar artifact types into distinct artifact affinity groups. We then proposed several methods and techniques useful in the processing of these artifacts to support their reuse. We believe that the proposed methods could be utilized by tool builders to construct software development environments capable of assisting analysts, designers, architects and programmers to effectively reuse the results of early life-;cycle activities.  相似文献   

10.
11.
Interactive online help systems are considered to be a fruitful supplement to traditional IT helpdesks, which are often overloaded. They often comprise user-generated FAQ collections playing the role of technology-based conceptual artifacts. Two main questions arise: how the conceptual artifacts should be used, and which factors influence their acceptance in a community of practice (CoP). Firstly, this paper offers a theoretical frame and a usage scenario for technology-based conceptual artifacts against the theoretical background of the academic help-seeking and CoP approach. Each of the two approaches is extensively covered by psychological and educational research literature, however their combination is not yet sufficiently investigated. Secondly, the paper proposes a research model explaining the acceptance of conceptual artifacts. The model includes users' expectations toward the artifact, perceived social influence and users' roles in the CoP as predictors of artifact use intention and actual usage. A correlational study conducted in an academic software users' CoP and involving structural equations modeling validates the model, suggesting thus a research line that is worth further pursuing. For educational practice, the study suggests three ways of supporting knowledge sharing in CoPs, i.e. use of technology-based conceptual artifacts, roles and division of labor, and purposeful communication in CoPs.  相似文献   

12.
Conventional design support software tools cannot effectively manage the complex, heterogeneous information used in engineering and architecture (EA) tasks. Crucially, despite uncertainty being an inherent quality of EA information particularly in the early stages of a design project, current tools solely rely on numerical approaches which do not support such incomplete and vague information. In this paper, we establish a complete framework for developing qualitative support tools that directly address these shortcomings. Our framework is application oriented and addresses the broader issues surrounding the actual use of qualitative methods. It provides design principles and strategies that allow a software engineer to develop custom qualitative software tools according to their specific EA task specifications. Our framework also provides the engineer with practical theory and guidelines for implementing their custom qualitative model and validating their system using context specific test data. We demonstrate the validity of our framework by presenting a case study in architectural lighting in which a prototype qualitative reasoning engine successfully automates qualitative logic about the subjective impressions of a lighting installation.  相似文献   

13.
The basic premise of software inspections is that they detect and remove defects before they propagate to subsequent development phases where their detection and correction cost escalates. To exploit their full potential, software inspections must call for a close and strict examination of the inspected artifact. For this, reading techniques for defect detection may be helpful since these techniques tell inspection participants what to look for and, more importantly, how to scrutinize a software artifact in a systematic manner. Recent research efforts investigated the benefits of scenario-based reading techniques. A major finding has been that these techniques help inspection teams find more defects than existing state-of-the-practice approaches, such as, ad-hoc or checklist-based reading (CBR). We experimentally compare one scenario-based reading technique, namely, perspective-based reading (PBR), for defect detection in code documents with the more traditional CBR approach. The comparison was performed in a series of three studies, as a quasi experiment and two internal replications, with a total of 60 professional software developers at Bosch Telecom GmbH. Meta-analytic techniques were applied to analyze the data  相似文献   

14.
Object analysis patterns for embedded systems   总被引:1,自引:0,他引:1  
Some of the most challenging tasks in building a software system are capturing, refining, and analyzing requirements. How well these tasks are performed significantly impacts the quality of the developed software system. The difficulty of these tasks is greatly exacerbated for the software of embedded systems as these systems are commonly used for critical applications, have to operate reliably for long periods of time, and usually have a high degree of complexity. Current embedded systems software development practice, however, often deals with the (requirements) analysis phase in a superficial manner, instead emphasizing design and implementation. This research investigates how an approach similar to the well-known design patterns, termed object analysis patterns, can be applied in the analysis phase of embedded systems development, prior to design and coding. Specifically, our research explores how object-oriented modeling notations, such as the Unified Modeling Language (UML), can be used to represent structural and behavioral information as part of commonly occurring object analysis patterns. This work also investigates how UML-based conceptual models of embedded systems, based on the diagram templates in the object analysis patterns, can be automatically analyzed using the Spin model checker for adherence to properties specified in linear-time temporal logic (LTL) using a previously developed UML formalization framework. We have applied these patterns to several embedded systems applications obtained from the automotive industry. This paper describes one of our case studies and illustrates how our approach facilitates the construction of UML-based conceptual models of embedded systems and the analysis of these models for adherence to functional requirements.  相似文献   

15.
Early detection and correction of faults in the software design phase can reduce total cost and time to market of a software product. In this paper we describe an approach for testing UML design models to uncover inconsistencies. Our approach uses behavioral views such as Sequence Diagrams to simulate state change in an aggregate model. The aggregate model is the artifact of merging information from behavioral and structural UML views. OCL pre-conditions, post-conditions and invariants are used as a test oracle.  相似文献   

16.
ContextTraceability relations among software artifacts often tend to be missing, outdated, or lost. For this reason, various traceability recovery approaches—based on Information Retrieval (IR) techniques—have been proposed. The performances of such approaches are often influenced by “noise” contained in software artifacts (e.g., recurring words in document templates or other words that do not contribute to the retrieval itself).AimAs a complement and alternative to stop word removal approaches, this paper proposes the use of a smoothing filter to remove “noise” from the textual corpus of artifacts to be traced.MethodWe evaluate the effect of a smoothing filter in traceability recovery tasks involving different kinds of artifacts from five software projects, and applying three different IR methods, namely Vector Space Models, Latent Semantic Indexing, and Jensen–Shannon similarity model.ResultsOur study indicates that, with the exception of some specific kinds of artifacts (i.e., tracing test cases to source code) the proposed approach is able to significantly improve the performances of traceability recovery, and to remove “noise” that simple stop word filters cannot remove.ConclusionsThe obtained results not only help to develop traceability recovery approaches able to work in presence of noisy artifacts, but also suggest that smoothing filters can be used to improve performances of other software engineering approaches based on textual analysis.  相似文献   

17.
Agile development processes are adaptive rather than predictive. Therefore, agile processes emphasize operational system code rather than its documentation. To overcome the absence of comprehensive documentation artifacts, agile methods require constant interaction between the system stakeholders. Ironically, however, some traditional documentation artifacts come to support this kind of interaction. In this study, we examine the relationship between software and documentation. We develop an approach that enables incorporating domain documentation to agile development, while keeping the processes adaptive. We also provide a system design that actively uses domain knowledge documentation. These ideas have been applied through the implementation and use of agile documentation support components.  相似文献   

18.
Traceability relations support stakeholders in understanding the dependencies between artifacts created during the development of a software system and thus enable many development-related tasks. To ensure that the anticipated benefits of these tasks can be realized, it is necessary to have an up-to-date set of traceability relations between the established artifacts. This goal requires the creation of traceability relations during the initial development process. Furthermore, the goal also requires the maintenance of traceability relations over time as the software system evolves in order to prevent their decay. In this paper, an approach is discussed that supports the (semi-) automated update of traceability relations between requirements, analysis and design models of software systems expressed in the UML. This is made possible by analyzing change events that have been captured while working within a third-party UML modeling tool. Within the captured flow of events, development activities comprised of several events are recognized. These are matched with predefined rules that direct the update of impacted traceability relations. The overall approach is supported by a prototype tool and empirical results on the effectiveness of tool-supported traceability maintenance are provided.  相似文献   

19.
Model checking is a formal verification technique. It takes an exhaustively strategy to check hardware circuits and network protocols against desired properties. Having been developed for more than three decades, model checking is now playing an important role in software engineering for verifying rather complicated software artifacts.This paper surveys the role of model checking in software engineering. In particular, we searched for the related literatures published at reputed conferences, symposiums, workshops, and journals, and took a survey of (1) various model checking techniques that can be adapted to software development and their implementations, and (2) the use of model checking at different stages of a software development life cycle. We observed that model checking is useful for software debugging, constraint solving, and malware detection, and it can help verify different types of software systems, such as object- and aspect-oriented systems, service-oriented applications, web-based applications, and GUI applications including safety- and mission-critical systems.The survey is expected to help human engineers understand the role of model checking in software engineering, and as well decide which model checking technique(s) and/or tool(s) are applicable for developing, analyzing and verifying a practical software system. For researchers, the survey also points out how model checking has been adapted to their research topics on software engineering and its challenges.  相似文献   

20.
讨论一个以PC机为开发环境,综合运用视觉、听觉等多媒体手段于一体的大型工业设备训练软件的开发过程。通过对需求的深入分析,给出了建立该类软件数学模型的方法和软件设计时的关键技术,并且给出了一种软件开发中消息通信字的结构及其在系统同步中的运用。最后采用面向对象软件工程中的事件对象图表示了该系统的动态运行过程。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号