Learn More
The goals of developing systems better, faster, and cheaper continue to drive software engineering practitioners and researchers to investigate software engineering methodologies. In requirements engineering, the focus has been on modeling the software engineering process and products for systems that are being built from scratch. As the size and complexity(More)
Just about everything changes, and so should a software system accordingly in order to survive and succeed. But how can we develop such a software system? Lately, a growing number of practitioners have shown great interests in using design patterns towards the development of an adaptable system, since design patterns represent high-level abstractions that(More)
The need to rapidly deliver high quality software that meets the changing needs of stakeholders has driven the definition of methods, including Agile and Software Product Line approaches. Although many of the goals of such approaches are similar, they appear to differ significantly in principles and practices. The purpose of this work is to compare Agile(More)
—An accurate prediction of the number of defects in a software product during system testing contributes not only to the management of the system testing process but also to the estimation of the product's required maintenance. Here, a new approach, called Estimation of Defects based on Defect Decay Model (ED 3 M) is presented that computes an estimate of(More)
As a security policy model evolves, the design of security systems using that model could become increasingly complicated. It is necessary to come up with an approach to guide the development, reuse and evolution of the design. In this paper, we propose an aspect-oriented design approach to designing flexible and extensible security systems. A case study(More)
At the heart of a well-disciplined, systematic methodology that explicitly supports the use of commercial off-the-shelf (COTS) components is a clearly defined process for effectively using components that meet the needs of the system under development. In this paper, we present the CARE/SA approach that supports the iterative matching, ranking, and(More)
Component-based development (CBD) techniques have been widely used to enhance the productivity and reduce the cost for software systems development. However, applying CBD techniques to embedded software development faces additional challenges. For embedded systems, it is crucial to consider the quality of service (QoS) attributes, such as timeliness, memory(More)