首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 31 毫秒
1.
GitHub is a web‐based, distributed Software Configuration Management (SCM) system build over Git, which enables developers to host shared repositories over the Internet and access them from any location, at any time. It helps developers to effectively orchestrate their activities over shared codebases by capturing direct conflicts arising because of concurrent editing on the same shared artifact. However, SCM systems have limited support for capturing inconsistencies arising because of indirect conflicts which arise because of software dependency relationships that exist between related artifacts, and lead to the introduction of syntactic and semantic inconsistencies in codebases. In this paper, we propose a novel collaborative software development (CSD) tool named, Collaboration Over GitHub (COG), that provides real‐time information about arising direct and indirect conflicts among collaborative developers, working over GitHub, through a collection of workspace awareness widgets. These widgets provide people‐centric information about direct and indirect collaborators over GitHub. Resource‐centric information about current and conflicting activities of real‐time collaborators is captured and propagated to others, based on the dependency relationships between software artifacts being manipulated by them. COG uses dependency graphs to store and process dependency relationship information which is required to ascertain information about indirect conflicts. Notably, the most important novel contribution of COG is that it not only captures indirect conflicts that lead to the introduction of syntactic inconsistencies but also changes that lead to semantic inconsistencies in the codebase. It also does so at finer levels of granularity, with changes to individual method's body being traced, thereby capturing statement‐level conflicts as well. Copyright © 2016 John Wiley & Sons, Ltd.  相似文献   

2.

Context

Software development is now facing much more challenges than ever before due to the intrinsic high complexity and the increasing demands of the quick-service-ready paradigm.

Objective

As the developers are now called for more quality software systems from the industries, there is insufficient guidance from the methodologies and standards of software engineering that can provide assistance to the rapid development of qualified business software.

Method

In this work, we discuss the advantages of the pattern-based software development. We verify the benefits using a pattern-based software framework called OS2F, and a corresponding system design architecture that is intended for the rapid development of web applications.

Results

The objective of the framework/architecture is that, through software patterns, developers should be able to separate the work of system development from the business rules so as to reduce the problems caused by a developer’s lack of business experiences.

Conclusion

Through a suitable pattern-based software framework, the quality of the product can thus be enhanced, software development time and cost decreased, and software evolution robustness improved.  相似文献   

3.
Boehm  B. Turner  R. 《Software, IEEE》2005,22(5):30-39
Discussions with traditional developers and managers concerning agile software development practices nearly always contain two somewhat contradictory ideas. They find that on small, stand-alone projects, agile practices are less burdensome and more in tune with the software industry's increasing needs for rapid development and coping with continuous change. Managers face several barriers, real and perceived, when they try to bring agile approaches into traditional organizations. They categorized the barriers either as problems only in terms of scope or scale, or as significant general issues needing resolution. From these two categories, we've identified three areas - development process conflicts, business process conflicts, and people conflicts - that we believe are the critical challenges to software managers of large organizations in bringing agile approaches to bear in their projects.  相似文献   

4.
The abundance of mobile software applications (apps) has created a security challenge. These apps are widely available across all platforms for little to no cost and are often created by small companies and less-experienced programmers. The lack of development standards and best practices exposes the mobile device to potential attacks. This article explores not only the practices that should be adopted by developers of all apps, but also those practices the enterprise user should demand of any app that resides on a mobile device that is employed for both business and private uses.  相似文献   

5.
Carmel  E. 《Software, IEEE》1993,10(5):85-86
The software-package segment of the software market most closely resembles the manufacturing-for-consumption model on which most quality techniques are based. The author reports on observations of the development processes in 15 package companies, specifically how these developers view quality-assurance practices and what they have in place  相似文献   

6.
Strong working relations between software developers and testers are critical to the efficient and effective development of high-quality software. Smooth collaboration must occur as testers find problems and developers fix problems in the software. Prior studies based on anecdotal data have suggested that developers and testers have different personalities, approaches to work, etc., and these differences may have negative impacts on software project outcomes such as software quality and job satisfaction. This study examines the results of a nationwide survey undertaken to empirically examine and to improve our understanding of the pertinent areas where developers and testers differ. Results support that significant differences exist in perceptions between developers and testers. We conclude that these differences must be considered in order to improve software development efficiency and effectiveness.  相似文献   

7.
Agile methods are widely used in the software industry as a way to more rapidly develop and deliver new software. They define iterative work processes, advocate self‐organization and openness for change, and prescribe how software developers interact with each other and external stakeholders. Despite their popularity, it is unclear how agile methods influence work exhaustion in software developers and how developer skills play into this effect. On the one hand, agile methods may reduce software developers' work exhaustion by levelling out their workload across the entire duration of a project. On the other hand, agile methods exert a high level of pressure on software developers to continuously deliver working software, create many intensive social interactions, and to frequently adapt to changes. In light of these effects, prior research could not explain why some software developers become less exhausted from using agile methods, whereas others perceive the exact opposite. Based on the job demand‐control model, we develop a theoretical model connecting agile method use to individual developer skills and to two established determinants of employee exhaustion: role conflict and role ambiguity. We tested our research model in a field study among 1894 software developers in 217 project teams that used agile methods. The random coefficient modelling results show that agile method use facilitates the achievement of clear and unambiguous role perceptions and thereby reduces work exhaustion in developers, particularly if developers possess the organizational skills to effectively interact with others in their organization. We highlight implications for theory on the individual‐level effects of software development methods and provide practical insights for software companies.  相似文献   

8.
Abstract. Object‐oriented systems development has attracted great interest in the information systems (IS) field because of a belief that using object‐oriented development (OD) makes it easier to develop and maintain software plus achieve software reuse. However, the transition from structured to OD may be especially challenging for IS developers. In fact, some argue that structured development (SD) knowledge may interfere with the ability to learn OD approaches because of a form of proactive interference. To understand how knowledge of SD concepts influences the ability to gain OD knowledge, we assessed a team of IS developers' understanding of structured and object‐oriented concepts at the beginning of their first OD project and repeated our assessment 1 year later. Developers increased their understanding of some object‐oriented concepts, but these changes were associated with increases in understanding of one of the SD concepts. Further, at the beginning and end of the project, developers' mental models were highly consistent with one another and that of an OD expert with regard to most OD concepts. It appears that the formal training that developers received allowed them to attain a good understanding of most object‐oriented concepts. These findings challenge the idea that structured developers must ‘unlearn’ SD to adopt OD approaches. Future research may wish to examine the different types of software development knowledge to ascertain which are amenable to positive transfer and which are more likely to suffer from proactive interference.  相似文献   

9.
The mobile application market is becoming increasingly fragmented with the availability of multiple mobile platforms that differ in development procedures. Developers are forced to choose to support only some platforms and specific devices because of limited development resources. To address these challenges, numerous tools have been created to aid developers in building cross‐platform applications; however, there is no metric to evaluate the quality of these tools or the applications produced by them. This paper introduces a framework for evaluating the features, performance, and development experience of existing and future cross‐platform development tools. The framework is implemented by benchmarking several tools, and the results identify a disparity in the features and performance of applications built using different development tools. Copyright © 2014 John Wiley & Sons, Ltd.  相似文献   

10.
陆璇  陈震鹏  刘譞哲  梅宏 《软件学报》2020,31(11):3364-3379
应用市场(app market)已经成为互联网环境下软件应用开发和交付的一种主流模式.相对于传统模式,应用市场模式下,软件的交付周期更短,用户的反馈更快,最终用户和开发者之间的联系更加紧密和直接.为应对激烈的竞争和动态演变的用户需求,移动应用开发者必须以快速迭代的方式不断更新应用,修复错误缺陷,完善应用质量,提升用户体验.因此,如何正确和综合理解用户对软件的接受程度(简称用户接受度),是应用市场模式下软件开发需考量的重要因素.近年来兴起的软件解析学(software analytics)关注大数据分析技术在软件行业中的具体应用,对软件生命周期中大规模、多种类的相关数据进行挖掘和分析,被认为是帮助开发者提取有效信息、作出正确决策的有效途径.从软件解析学的角度,首先论证了为移动应用构建综合的用户接受度指标模型的必要性和可行性,并从用户评价数据、操作数据、交互行为数据这3个维度给出基本的用户接受度指标.在此基础上,使用大规模真实数据集,在目标用户群体预测、用户规模预测和更新效果预测等典型的用户接受度指标预测问题中,结合具体指标,提取移动应用生命周期不同阶段的重要特征,以协同过滤、回归融合、概率模型等方法验证用户接受度的可预测性,并讨论了预测结果与特征在移动应用开发过程中可能提供的指导.  相似文献   

11.
Although the idea of context‐awareness was introduced almost two decades ago, few mobile software applications are available today that can sense and adapt to their run‐time environment. The development of context‐aware and self‐adaptive applications is complex and few developers have experience in this area. On the basis of several demonstrators built by the joint European research project MUSIC, this paper describes typical context and adaptation features relevant for the development of context‐aware and self‐adaptive mobile applications. We explain how the demonstrators were realised using the open‐source platform MUSIC and present the feedback of the developers of these demonstrators. The main contribution of this paper is to show how the development complexity of context‐aware and self‐adaptive mobile applications can be mastered by using an adaptation framework such as MUSIC. Copyright © 2012 John Wiley & Sons, Ltd.  相似文献   

12.
Griss  M.L. Pour  G. 《Computer》2001,34(5):37-43
As the demand for more flexible, adaptable, extensible, and robust Web based enterprise application systems accelerates, adopting new software engineering methodologies and development strategies becomes critical. These strategies must support the construction of enterprise software systems that assemble highly flexible software components written at different times by various developers. Traditional software development strategies and engineering methodologies, which require development of software systems from scratch, fall short in this regard. Component based software engineering offers an attractive alternative for building Web based enterprise application systems. CBSE works by developing and evolving software from selected reusable software components, then assembling them within appropriate software architectures. By promoting the use of software components that commercial vendors or in-house developers build, the component based software development approach promises large scale software reuse  相似文献   

13.
The popularity of mobile devices has been steadily growing in recent years. These devices heavily depend on software from the underlying operating systems to the applications they run. Prior research showed that mobile software is different than traditional, large software systems. However, to date most of our research has been conducted on traditional software systems. Very little work has focused on the issues that mobile developers face. Therefore, in this paper, we use data from the popular online Q&A site, Stack Overflow, and analyze 13,232,821 posts to examine what mobile developers ask about. We employ Latent Dirichlet allocation-based topic models to help us summarize the mobile-related questions. Our findings show that developers are asking about app distribution, mobile APIs, data management, sensors and context, mobile tools, and user interface development. We also determine what popular mobile-related issues are the most difficult, explore platform specific issues, and investigate the types (e.g., what, how, or why) of questions mobile developers ask. Our findings help highlight the challenges facing mobile developers that require more attention from the software engineering research and development communities in the future and establish a novel approach for analyzing questions asked on Q&A forums.  相似文献   

14.
In recent years, mobile apps have become the infrastructure of many popular Internet services. It is now common that a mobile app serves millions of users across the globe. By examining the code of these apps, reverse engineers can learn various knowledge about the design and implementation of the apps. Real-world cases have shown that the disclosed critical information allows malicious parties to abuse or exploit the app-provided services for unrightful profits, leading to significant financial losses. One of the most viable mitigations against malicious reverse engineering is to obfuscate the apps. Despite that security by obscurity is typically considered to be an unsound protection methodology, software obfuscation can indeed increase the cost of reverse engineering, thus delivering practical merits for protecting mobile apps. In this paper, we share our experience of applying obfuscation to multiple commercial iOS apps, each of which has millions of users. We discuss the necessity of adopting obfuscation for protecting modern mobile business, the challenges of software obfuscation on the iOS platform, and our efforts in overcoming these obstacles. We especially focus on factors that are unique to mobile software development that may affect the design and deployment of obfuscation techniques. We report the outcome of our obfuscation with empirical experiments. We additionally elaborate on the follow-up case studies about how our obfuscation affected the app publication process and how we responded to the negative impacts. This experience report can benefit mobile developers, security service providers, and Apple as the administrator of the iOS ecosystem.  相似文献   

15.
The increasing complexity of large‐scale distributed applications is driving the Software Engineering community to adopt new software technologies for the development of distributed systems. In this sense, the emergence of component‐based software engineering represents a significant advance towards assembling applications by plugging in pre‐fabricated components. Additionally, the principle of ‘advanced’ separation of concerns is nowadays widely applied to improve modularity, reusability and adaptability of software components. In this way, the aspect‐oriented software development paradigm separates into a new dimension, named aspect, those properties that crosscut the system ‘objects’ or ‘components’, reducing their dependencies. However, the development of software based on the composition of components and aspects is still in its early stages. Part of the reason for this is the lack of well‐defined development processes and tools that help software developers in the use of existing component and aspect‐based approaches. Therefore, the primary aim of this paper is to propose an integrated development process for deriving applications by the assembly of a set of prefabricated components and aspects. This process supports the development of Component‐Aspect Model/Dynamic Aspect‐Oriented Platform (CAM/DAOP) applications, where CAM/DAOP is a new model and platform based on components and aspects. Our intention is to show how, with the support of the integrated development process presented in this paper, it is possible to use CAM/DAOP as an alternative to current distributed platforms. Copyright © 2006 John Wiley & Sons, Ltd.  相似文献   

16.
目前移动应用市场前景大好,供电企业开始采用以智能移动终端为基础的移动应用作为企业信息化的扩展。简介移动智能终端的类型,总结其在电力行业的应用现状。研究移动应用开发过程中的网络接入、软件结构、数据安全、应用开发模式等技术问题,对构建电力企业移动应用业务系统提供有益的探索。  相似文献   

17.
Software engineering metrics for COTS-based systems   总被引:1,自引:0,他引:1  
Sedigh-Ali  S. Ghafoor  A. Paul  R.A. 《Computer》2001,34(5):44-50
The paradigm shift to commercial off-the-shelf components appears inevitable, necessitating drastic changes to current software development and business practices. Quality and risk concerns currently limit the application of COTS based system design to noncritical applications. New approaches to quality and risk management will be needed to handle the growth of CBSs. Our metrics based approach and software engineering metrics can aid developers and managers in analyzing the return on investment in quality improvement initiatives for CBSs. These metrics also facilitate the modeling of cost and quality, although we need more complex models to capture the intricate relationships between cost and quality metrics in a CBS  相似文献   

18.
Web system requirements: an overview   总被引:2,自引:2,他引:0  
The development of online and Web-based systems is becoming increasingly critical to the business strategy of many organisations. Although this development can be viewed as a form of software development, it has various unique characteristics. One of the most significant is the uncertainty in domain understanding by both clients and developers. Another is the way in which Web solutions typically lead to changes in business models and hence requirements. These are manifested as significant volatility in the requirements of these systems. In this survey paper we investigate the handling of requirements for Web systems including looking at both commercial practice and current research. We report on the outcomes of a comprehensive set of interviews and follow-up surveys, and argue that the Web system requirements process needs to be fundamentally different from more conventional systems, incorporating the design process into the identification of requirements resulting in a design-driven requirements process.  相似文献   

19.
In times of continuous change, companies need to adjust their business processes to gain sustainable competitive advantage. Resulting changes in the company’s IT currently require the involvement of developers from departments that are mostly not aligned with the business. These changes often result in high transaction and labor costs. The article presents a platform-based method to adjust business processes with the aim of increasing both efficiency and flexibility compared to current approaches. The core of our work is an evaluation against traditional component-based software development using a sound simulation model. Three real-world scenarios of business process change show that – despite a slight increase in transaction costs – our suggested method decreases labor costs while increasing operational flexibility.  相似文献   

20.
Hansen  G.A. 《Computer》1996,29(1):73-77
One of the main factors affecting any product development schedule is rework. In the consumer product market, the risk of rework is often measured against the need to get to market quickly. This frequently happens in the software market as well; products are released with known bugs and then upgraded after user testing. Therefore, software development organizations may choose to limit the iterations of defect correction to meet schedules or control costs. The decision to release software after a certain point is a business decision, and there is little written about business decisions in any software-related literature, including the SEI's Capability Maturity Model. A quick review of software project management literature suggests that rework is implicit in software estimating techniques, but is not explicit. The amount of rework and the manner in which it is treated are very important factors in determining software schedules and cost  相似文献   

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

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