共查询到20条相似文献,搜索用时 31 毫秒
1.
Both software organisations and the academic community are aware that the requirements phase of software development is in need of further support. We address this problem by creating a specialised Requirements Capability Maturity Model (R-CMM1). The model focuses on the requirements engineering process as defined within the established Software Engineering Institute’s (SEI’s) software process improvement framework. Our empirical work with software practitioners is a primary motivation for creating this requirements engineering process improvement model. Although all organisations in our study were involved in software process improvement (SPI), they all showed a lack of control over many requirement engineering activities.This paper describes how the requirements engineering (RE) process is decomposed and prioritised in accordance with maturity goals set by the SEI’s Software Capability Maturity Model (SW CMM). Our R-CMM builds on the SEI’s framework by identifying and defining recommended RE sub-processes that meet maturity goals. This new focus will help practitioners to define their RE process with a view to setting realistic goals for improvement.Sarah Beecham is a research fellow in the Department of Maths and Computing in The Open University in the UK. She is currently working on the EPSRC funded CRESTES project () looking into modelling resource estimation for long-lived software. She has recently completed her PhD for a program of work entitled “A Requirements-based Software Process Maturity Model”. Current research interests are in estimation for software evolution and maintenance and in the general areas of software process improvement. Her particular research interests are in empirical methods in software engineering and requirements engineering.Tracy Hall leads the Systems & Software Research Group in the Department of Computer Science at the University of Hertfordshire. She specialises in the empirical investigation of technical and non-technical issues within software engineering. During the past ten years Tracy has successfully collaborated with many companies on a variety of research projects. She is very active in the Empirical Software Engineering community and is regularly invited to talk about empirical methods both in the UK and abroad. Tracy is an accomplished researcher having published over twenty high quality journal papers.Austen Rainer Austen Rainer is a senior lecturer at the University of Hertfordshire. He studied for his PhD at Bournemouth University, in conjunction with IBM Hursley Park. His current research interests include open source software development, longitudinal case study research, and the credibility of empirical evidence for researchers and software practitioners. 相似文献
2.
3.
软件可用性工程是当前软件开发的重要研究领域,研究者试图通过对软件可用性特征的分析提高使用者使用效率,改善软件质量。本文针对软件使用过程中的用户操作特征,采用Markov模型对用户软件操作过程进行聚类和建模。并在此基础上根据用户模型的概率描述指标,提出了相应的在线模型更新算法和帮助系统设计方法。在实际软件设计过程中设计实现了以此为理论基础的试验系统,取得了较好的应用效果。 相似文献
4.
Borstler J. Carrington D. Hislop G.W. Lisack S. Olson K. Williams L. 《Software, IEEE》2002,19(5):42-48
Software engineering educators need to provide environments where students learn about the size and complexity of modern software systems and the techniques available for managing these difficulties. Five universities used the personal software process to teach software engineering concepts in a variety of contexts. 相似文献
5.
6.
7.
Reusing software: issues and research directions 总被引:2,自引:0,他引:2
Mili H. Mili F. Mili A. 《IEEE transactions on pattern analysis and machine intelligence》1995,21(6):528-562
Software productivity has been steadily increasing over the past 30 years, but not enough to close the gap between the demands placed on the software industry and what the state of the practice can deliver; nothing short of an order of magnitude increase in productivity will extricate the software industry from its perennial crisis. Several decades of intensive research in software engineering and artificial intelligence left few alternatives but software reuse as the (only) realistic approach to bring about the gains of productivity and quality that the software industry needs. In this paper, we discuss the implications of reuse on the production, with an emphasis on the technical challenges. Software reuse involves building software that is reusable by design and building with reusable software. Software reuse includes reusing both the products of previous software projects and the processes deployed to produce them, leading to a wide spectrum of reuse approaches, from the building blocks (reusing products) approach, on one hand, to the generative or reusable processor (reusing processes), on the other. We discuss the implication of such approaches on the organization, control, and method of software development and discuss proposed models for their economic analysis. Software reuse benefits from methodologies and tools to: (1) build more readily reusable software and (2) locate, evaluate, and tailor reusable software, the last being critical for the building blocks approach. Both sets of issues are discussed in this paper, with a focus on application generators and OO development for the first and a thorough discussion of retrieval techniques for software components, component composition (or bottom-up design), and transformational systems for the second. We conclude by highlighting areas that, in our opinion, are worthy of further investigation 相似文献
8.
Software systems must change to adapt to new functional requirements and nonfunctional requirements. According to Lehman''s laws of software evolution, on the one side, the size and the complexity of a software system will continually increase in its life time; on the other side, the quality of a software system will decrease unless it is rigorously maintained and adapted. Lehman''s laws of software evolution, especially of those on software size and complexity, have been widely validated. However, there are few empirical studies of Lehman''s law on software quality
evolution, despite the fact that quality is one of the most important measurements of a software product. This paper defines a metric---accumulated defect density---to measure the quality of evolving software systems. We mine the bug reports and measure the size and complexity growth of four evolution lines of Apache Tomcat and Apache Ant projects. Based on these studies, Lehman''s law on software quality evolution is examined and evaluated. 相似文献
9.
ContextSearch-Based Software Engineering (SBSE) is an emerging discipline that focuses on the application of search-based optimization techniques to software engineering problems. Software Product Lines (SPLs) are families of related software systems whose members are distinguished by the set of features each one provides. SPL development practices have proven benefits such as improved software reuse, better customization, and faster time to market. A typical SPL usually involves a large number of systems and features, a fact that makes them attractive for the application of SBSE techniques which are able to tackle problems that involve large search spaces.ObjectiveThe main objective of our work is to identify the quantity and the type of research on the application of SBSE techniques to SPL problems. More concretely, the SBSE techniques that have been used and at what stage of the SPL life cycle, the type of case studies employed and their empirical analysis, and the fora where the research has been published.MethodA systematic mapping study was conducted with five research questions and assessed 77 publications from 2001, when the term SBSE was coined, until 2014.ResultsThe most common application of SBSE techniques found was testing followed by product configuration, with genetic algorithms and multi-objective evolutionary algorithms being the two most commonly used techniques. Our study identified the need to improve the robustness of the empirical evaluation of existing research, a lack of extensive and robust tool support, and multiple avenues worthy of further investigation.ConclusionsOur study attested the great synergy existing between both fields, corroborated the increasing and ongoing interest in research on the subject, and revealed challenging open research questions. 相似文献
10.
《IEEE transactions on systems, man, and cybernetics. Part A, Systems and humans : a publication of the IEEE Systems, Man, and Cybernetics Society》2009,39(5):1097-1107
11.
A software architecture is a key asset for any organization that builds complex software-intensive systems. Because of an
architecture's central role as a project blueprint, organizations should analyze the architecture before committing resources
to it. An analysis helps to ensure that sound architectural decisions are made. Over the past decade a large number of architecture
analysis methods have been created, and at least two surveys of these methods have been published. This paper examines the
criteria for analyzing architecture analysis methods, and suggests a new set of criteria that focus on the essence of what
it means to be an architecture analysis method. These criteria could be used to compare methods, to help understand the suitability
of a method, or to improve a method. We then examine two methods—the Architecture Tradeoff Analysis Method and Architecture-level
Modifiability Analysis—in light of these criteria, and provide some insight into how these methods can be improved.
Rick Kazman is a Senior Member of the Technical Staff at the Software Engineering Institute of Carnegie Mellon University and Professor
at the University of Hawaii. His primary research interests are software architecture, design and analysis tools, software
visualization, and software engineering economics. He also has interests in human-computer interaction and information retrieval.
Kazman has created several highly influential methods and tools for architecture analysis, including the SAAM and the ATAM.
He is the author of over 80 papers, and co-author of several books, including “Software Architecture in Practice”, and “Evaluating
Software Architectures: Methods and Case Studies”.
Len Bass is a Senior Member of the Technical Staff at the Software Engineering Institute (SEI). He has written two award winning books
in software architecture as well as several other books and numerous papers in a wide variety of areas of computer science
and software engineering. He is currently working on techniques for the methodical design of software architectures and to
understand how to support usability through software architecture. He has been involved in the development of numerous different
production or research software systems ranging from operating systems to database management systems to automotive systems.
Mark Klein is Senior Member of the Technical Staff of the Software Engineering Institute. He has over 20 years of experience in research
on various facets of software engineering, dependable real-time systems and numerical methods. Klein's most recent work focuses
on the analysis of software architectures, architecture tradeoff analysis, attribute-driven architectural design and scheduling
theory. Klein's work in real-time systems involved the development of rate monotonic analysis (RMA), the extension of the
theoretical basis for RMA, and its application to realistic systems. Klein's earliest work involved research in high-order
finite element methods for solving fluid flow equations arising in oil reservoir simulation. He is the co-author two books:
“A Practitioner's Handbook for Real-Time Analysis: Guide to Rate Monotonic Analysis for Real-Time Systems” and “Evaluating
Software Architecture: Methods and Case Studies”.
Anthony J. Lattanze is an Associate Teaching Professor at the Institute for Software Research International (ISRI) at Carnegie Mellon University
(CMU) and a senior member of the technical staff at the Software Engineering Institute (SEI). Anthony teaches courses in CMUs
Masters of Software Engineering Program in Software Architecture, Real-Time/Embedded Systems, and Software Development Studio.
His primary research interest is in the area software architectural design for embedded, software intensive systems. Anthony
consults and teaches throughout industry in the areas of software architecture design and architecture evaluation.
Prior to Carnegie Mellon, Mr. Lattanze was the Chief of Software Engineering for the Technology Development Group at the United
States Flight Test Center at Edwards Air Force Base, CA. During his tenure at the Flight Test Center, he was involved with
a number of software and systems engineering projects as a software and systems architect, project manager, and developer.
During this time as he was involved with the development, test, and evaluation of avionics systems for the B-2 Stealth Bomber,
F-117 Stealth Fighter, and F-22 Advanced Tactical Fighter among other systems.
Linda Northrop is the director of the Product Line Systems Program at the Software Engineering Institute (SEI) where she leads the SEI work
in software architecture, software product lines and predictable component engineering. Under her leadership the SEI has developed
software architecture and product line methods that are used worldwide, a series of five highly-acclaimed books, and Software
Architecture and Software Product Line Curricula. She is co-author of the book, “Software Product Lines: Practices and Patterns,”
and a primary author of the SEI Framework for Software Product Line Practice. 相似文献
12.
Software engineering efforts can potentially benefit much from a good understanding of the structures of existing software
systems and the processes governing their development. Towards that end, we study software systems by means of the complex
network analysis framework. We model a software package as a network, with nodes representing the functions in the package
and edges representing the dependencies among the functions. Our empirical analysis of five widely-adopted open-source software
packages reveals a set of interesting features of such networks, which cannot be adequately reproduced by existing complex
network models. We then set out to develop a new network growth model, explicitly imitating generally-advocated software development
principals, such as divide-and-conquer, modularization, high intra-module cohesion, and low inter-module coupling. Results
of our analytical derivations and numeric studies show that our model can more closely reproduce the particular features exhibited
by real-world software packages, thus hopefully better explaining the phenomena of concern. 相似文献
13.
《Information and Software Technology》2013,55(11):1860-1883
BackgroundSoftware evolution is an important topic in software engineering. It generally deals with large amounts of data, as one must look at whole project histories as opposed to their current snapshot. Software visualization is the field of software engineering that aims to help people to understand software through the use of visual resources. It can be effectively used to analyze and understand the large amount of data produced during software evolution.ObjectiveThis study investigates Software Evolution Visualization (SEV) approaches, collecting evidence about how SEV research is structured, synthesizing current evidence on the goals of the proposed approaches and identifying key challenges for its use in practice.MethodsA mapping study was conducted to analyze how the SEV area is structured. Selected primary studies were classified and analyzed with respect to nine research questions.ResultsSEV has been used for many different purposes, especially for change comprehension, change prediction and contribution analysis. The analysis identified gaps in the studies with respect to their goals, strategies and approaches. It also pointed out to a widespread lack of empirical studies in the area.ConclusionResearchers have proposed many SEV approaches during the past years, but some have failed to clearly state their goals, tie them back to concrete problems, or formally validate their usefulness. The identified gaps indicate that there still are many opportunities to be explored in the area. 相似文献
14.
《Information & Management》1987,13(3):135-142
The development of computer-based information systems involves more than the building of a complicated software system because each information system is embedded in a social and organizational environment. Software Engineering, which relies mainly on engineering approaches and places emphasis on formal methods, is inadequate to steer information systems development projects. Particular advances in Software Engineering will be best utilized within a broad framework which is capable of dealing with both technical and social/organizational issues. 相似文献
15.
Adam A. Porter 《Empirical Software Engineering》1997,2(2):119-131
Researchers must pay far more attention to discovering and validating the principles that underlie software maintenance and
evolution. This was one of the major conclusions reached during the International Workshop on Empirical Studies of Software
Maintenance. This workshop, held in November 1996 in Monterey, California, brought together an international group of researchers
to discuss the successes, challenges and open issues in software maintenance and evolution.
This article documents the discussion of the subgroup on fundamental laws and assumptions of software maintenance. The participants
of this group included researchers in software engineering, the behavioral sciences, information systems and statistics. Their
main conclusion was that insufficient effort has been paid to synthesizing research conjectures into validated theories and
that this problem has slowed progress in software maintenance. To help support this vision they identified the following supporting
conclusions. (1) need to develop a genuine scientific approach—more than just using empirical methods, (2) other disciplines
can help, (3) need to explore a wider range of approaches to empirical studies, (4) need to study both evolution and maintenance.
This revised version was published online in July 2006 with corrections to the Cover Date. 相似文献
16.
ContextEye-tracking is a mean to collect evidence regarding some participants’ cognitive processes. Eye-trackers monitor participants’ visual attention by collecting eye-movement data. These data are useful to get insights into participants’ cognitive processes during reasoning tasks.ObjectiveThe Evidence-based Software Engineering (EBSE) paradigm has been proposed in 2004 and, since then, has been used to provide detailed insights regarding different topics in software engineering research and practice. Systematic Literature Reviews (SLR) are also useful in the context of EBSE by bringing together all existing evidence of research and results about a particular topic. This SLR evaluates the current state of the art of using eye-trackers in software engineering and provides evidence on the uses and contributions of eye-trackers to empirical studies in software engineering.MethodWe perform a SLR covering eye-tracking studies in software engineering published from 1990 up to the end of 2014. To search all recognised resources, instead of applying manual search, we perform an extensive automated search using Engineering Village. We identify 36 relevant publications, including nine journal papers, two workshop papers, and 25 conference papers.ResultsThe software engineering community started using eye-trackers in the 1990s and they have become increasingly recognised as useful tools to conduct empirical studies from 2006. We observe that researchers use eye-trackers to study model comprehension, code comprehension, debugging, collaborative interaction, and traceability. Moreover, we find that studies use different metrics based on eye-movement data to obtain quantitative measures. We also report the limitations of current eye-tracking technology, which threaten the validity of previous studies, along with suggestions to mitigate these limitations.ConclusionHowever, not withstanding these limitations and threats, we conclude that the advent of new eye-trackers makes the use of these tools easier and less obtrusive and that the software engineering community could benefit more from this technology. 相似文献
17.
A recent trend in software engineering is the shift from a focus on laboratory-oriented software engineering to a more industry-oriented view of software engineering processes. This complements preceding ideas about software engineering in terms of organization and process-orientation. From the domain coverage point of view, many of the existing software engineering approaches have mainly concentrated on the technical aspects of software development. Important areas of software engineering, such as the technical and organizational infrastructures, have been left untouched. As software systems increase in scales, issues of complexity and professional practices become involved. Software development as an academic or laboratory activity, has to engage with software development as a key industrialized process.This expanded domain of software engineering exposes the limitations of existing methodologies that often address only individual subdomains. There is, therefore, a demand for an overarching approach that provide a basis for theoretical and practical infrastructures capable of accommodating the whole range of modern software engineering practices and requirements. One approach is provided by Process-Based Software Engineering (PBSE); part of the more general trend towards a focus on process.This paper provides a review of process techniques for software engineering and a high-level perspective on PBSE. Typical approaches and techniques for the establishment, assessment, improvement and benchmarking of software engineering process systems are introduced in this paper, and many are developed further in other contributions to this volume. 相似文献
18.
Applying empirical software engineering to software architecture: challenges and lessons learned 总被引:1,自引:1,他引:0
Davide Falessi Muhammad Ali Babar Giovanni Cantone Philippe Kruchten 《Empirical Software Engineering》2010,15(3):250-276
In the last 15 years, software architecture has emerged as an important software engineering field for managing the development
and maintenance of large, software-intensive systems. Software architecture community has developed numerous methods, techniques,
and tools to support the architecture process (analysis, design, and review). Historically, most advances in software architecture
have been driven by talented people and industrial experience, but there is now a growing need to systematically gather empirical
evidence about the advantages or otherwise of tools and methods rather than just rely on promotional anecdotes or rhetoric.
The aim of this paper is to promote and facilitate the application of the empirical paradigm to software architecture. To
this end, we describe the challenges and lessons learned when assessing software architecture research that used controlled
experiments, replications, expert opinion, systematic literature reviews, observational studies, and surveys. Our research
will support the emergence of a body of knowledge consisting of the more widely-accepted and well-formed software architecture
theories. 相似文献
19.
Sylvie Trudel Jean-Marc Lavoie Marie-Claude Paré Witold Suryn 《Software Quality Journal》2006,14(1):7-23
Many small software organizations have recognized the need to improve their software product. Evaluating the software product
alone seems insufficient since it is known that its quality is largely dependant on the process that is used to create it.
Thus, small organizations are asking for evaluation of their software processes and products. The ISO/IEC 14598-5 standard
is already used as a methodology basis for evaluating software products. This article explores how it can be combined with
the CMMI to produce a methodology that can be tailored for process evaluation in order to improve their software processes.
SM: CMMI is a service mark of Carnegie-Mellon University.
Sylvie Trudel has over 20 years of experience in software. She worked for more than 10 years in development and implementation of management
information systems and embedded real-time systems. Since 1996, she works as a process improvement specialist, implementing
best practices into organizations processes from CMM and CMMI models. She performed several CMM and CMMI assessments and participated
in many other CMM assessments such as CBA IPI, SCE, and other proprietary methods. She obtained a bachelors degree in computer
science in 1986 from Laval University in Québec City and a Masters degree in Software Engineering at école de Technologie
Supérieure (éTS) in Montréal. Sylvie is currently working as a software engineering advisor at the Centre de Recherche Informatique
de Montréal (CRIM).
Jean-Marc Lavoie has been working in software development for over 10 years. He performed and published a comparative study between the guide
to the SWEBOK and the CMMI in 2003. Jean-Marc obtained a bachelor degree in Electrical Engineering. He is pursuing a Masters
degree in Software Engineering at école de Technologie Supérieure (éTS) in Montréal while working as a software architect
at Trisotech.
Marie-Claude Pare has been working in software development for 7 years. Marie-Claude obtained a bachelor degree in Software Engineering from
école Polytechnique in Montréal. She is pursuing a Masters degree in Software Engineering at école de Technologie Supérieure
(éTS) in Montréal while working as a software engineer at Motorola GSG Canada.
Dr Witold Suryn is a Professor at the école de technologie supérieure, Montreal, Canada (engineering school of the Université du Québec network
of institutions) where he teaches graduate and undergraduate software engineering courses and conducts research in the domain
of software quality engineering, software engineering body of knowledge and software engineering fundamental principles. Dr
Suryn is also the principal researcher and the director of GELOG : IQUAL, the Software Quality Engineering Research Group
at école de technologie supérieure. From October 2003 Dr. Suryn holds the position of the International Secretary of ISO/IEC
SC7 – System and Software Engineering. 相似文献
20.
《Knowledge》2006,19(4):235-247
Software testing is the technical kernel of software quality engineering, and to develop critical and complex software systems not only requires a complete, consistent and unambiguous design, and implementation methods, but also a suitable testing environment that meets certain requirements, particularly, to face the complexity issues. Traditional methods, such as analyzing each requirement and developing test cases to verify correct implementation, are not effective in understanding the software’s overall complex behavior. In that respect, existing approaches to software testing are viewed as time-consuming and insufficient for the dynamism of the modern business environment. This dynamics requires new tools and techniques, which can be employed in tandem with innovative approaches to using and combining existing software engineering methods. This work advocates the use of a recently proposed software engineering paradigm, which is particularly suited to the construction of complex and distributed software-testing systems, which is known as Agent-Oriented Software Engineering. This methodology is a new one, which gives the basic approach to agent-based frameworks for testing. 相似文献