Loading...
Search for: software-product-line
0.006 seconds
Total 26 records

    Development of situational requirements engineering processes: A process factory approach

    , Article Proceedings - International Computer Software and Applications Conference ; 2012 , Pages 279-288 ; 07303157 (ISSN) ; 9780769547367 (ISBN) Jafarinezhad, O ; Ramsin, R ; Sharif University of Technology
    2012
    Abstract
    The Software Product Line (SPL) approach is a paradigm for systematic reuse of software products, and a Software Factory is a SPL aimed at the industrialization of software development. Based on the notion that a software/RE process can be developed via an engineering process (much akin to engineering other types of software), this research aims to provide a feature-based RE process factory to develop RE processes based on the characteristics of the project at hand (project situation). In our approach, the project situation is modeled as the problem domain through using the i* modeling language (resulting in a situation model). A feature model can encapsulate all the features in an SPL;... 

    Towards a process factory for developing situational requirements engineering processes

    , Article Proceedings of the ACM Symposium on Applied Computing, 26 March 2012 through 30 March 2012 ; March , 2012 , Pages 1089-1090 ; 9781450308571 (ISBN) Jafarinezhad, O ; Ramsin, R ; Sharif University of Technology
    2012
    Abstract
    Selecting a suitable Requirements Engineering (RE) process is usually based on personal preferences or existing company practices rather than on the characteristics of the project at hand (project situation). Feature-oriented software development is the overall process of developing software systems in terms of their features. The Software Product Line (SPL) approach is a paradigm for systematic reuse of software products, and a Software Factory is a SPL aimed at the industrialization of software development. Based on the notion that a software/RE process can be developed via an engineering process, this research aims to provide a feature-based RE process factory to develop RE processes... 

    Tailoring Software Testing Techiques for Product Line Engineering

    , M.Sc. Thesis Sharif University of Technology Rezvan, Abolfazl (Author) ; Mirian-Hosseinabadi, Hassan (Supervisor)
    Abstract
    In industry it is usual to develop a family of similar software instead of a single one. Software product-line (SPL) engineering or family-based software engineering is an approach that tries to minimize needed effort and time-to-market and maximize quality of manufactured products through strategic planning for maximizing reuse among members of the family. On the other hand it is known that testing software is an indivisible part of software development process which requires considerable time and effort. With large number of products created from an SPL, it is obvious that testing should be conducted in such a way that needed effort does not maintain a linear relationship with number of... 

    A Process Model for Software Product line Engineering Based on the Model Driven Architecture

    , M.Sc. Thesis Sharif University of Technology Forghani, Hadi (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    Software development process is a base ground for all software activities and ensures all aspects of the software. No quality is guaranteed without a definite process. Model-Driven Software Development process proposes an industrial method for software companies to produce the required software through model(s) and tools. On the other hand, Software Product Line imposes a set of frameworks and principles. As a result a tangible decrement of development time and cost along with an increment of quality is achieved. Mixing both processes creates a stronger industrial process in order to decrease the development time and cost. In this thesis, through a survey on both of the processes and related... 

    An Architecture Description Language for Software Product Line

    , M.Sc. Thesis Sharif University of Technology Tanhaei, Mohammad (Author) ; Habibi, Jafar (Supervisor)
    Abstract
    Software Product Line is known as a process of developing family of the software together. The methods of building a software product line is trying to capture commonality and variety of this family of software and form a product line based on them. Commonality of this family of the software allows us reuse in every aspect of the development of software. Nowadays, software architecture as a one of the most important aspect of software engineering, plays major role in specifying the tasks and clearing the relationship between people. It can divide large and complex system to some sub-system and overcome complexity of the system. Software architecture forms a basis for communication among... 

    Model Based Testing in Software Product Line

    , M.Sc. Thesis Sharif University of Technology Zahiri Mehrabadi, Mahdieh (Author) ; Mirian-Hosseinabadi, Hassan (Supervisor)
    Abstract
    Software product line (SPL) engineering offers several advantages such as reduced costs, high quality and less time to market in development of family of software products. The goal of software product line is systematic and effective development of a set of software products which share common and managed set of features. Software product line testing has its special challenges such as scalability and variability, and has significant importance due to the importance of quality in software product line and enormous number of possible products. Most of the popular methods in this domain have shortcomings such as having seam between development and testing processes, limited application scope... 

    Managing Variability of Quality Attributes in Software Product Line

    , M.Sc. Thesis Sharif University of Technology Nassiri Amini, Melissa (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    Nowadays Software product line technology receives notable considerations due to great advantages of cutting the costs and time to market, and improvement of the quality of software products. Variability plays a key role in software products line. Quality attributes can be a source of variability in software products line, therefore having an approach to manage them is essential. Quality attributes should be considered in all parts of software development life cycle, started by capturing and modeling in an appropriate way, mentioning in architecture design and being used in final products configurations. In this research at first, the necessity of study of quality attributes in software... 

    Developing an Agile Product Line Engineering Methodology

    , M.Sc. Thesis Sharif University of Technology Farmahini Farahani, Farima (Author) ; Ramsin, Raman (Supervisor)
    Abstract
    Software Product Line Engineering (PLE) and Agile Software Development are two leading approaches in the software industry. Despite the inherent differences between the two approaches, they are intended to fulfill common goals, such as: Reducing time to market, increasing customer satisfaction, promoting product quality, managing changes in requirements, and lowering the costs of development. In addition, each of them has certain positive features which address the other’s weaknesses. As a result, it seems reasonable to integrate the two approaches in order to produce a combined method which fulfills the common goals while addressing the weaknesses. Agile Product Line Engineering (APLE) is a... 

    Towards a Method for The Management of Dynamic Changes in Software Product Line Based on Change Patterns

    , M.Sc. Thesis Sharif University of Technology Mazloumi, Alireza (Author) ; Habibi, Jafar (Supervisor)
    Abstract
    With the advent of software product lines as a practical approach in software engineering, research on this area has increased exponentially. In Software product lines a platform is presented onto which a product family can be created with ease. With the help of this platform each software in the product family can be produced with small modifications. Using this approach, cost and time of producing software decreases whilst at the same time increasing the overall software quality. Changes in standards, instability in business needs and variable requirements of various stakeholders will always cause evolution in a software product line. These change areas cannot always be predicted by... 

    An Evolutionary Feature-Oriented Approach For Software Product Line Engineering

    , M.Sc. Thesis Sharif University of Technology Taheri, Naeim (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    In the current decade there has been research works around adopting agile methodologies for software product line engineering. However, the emphasis has been on the process part of the methodology and the main product which is the source code has been neglected.The prevalent modeling and implementation method of software product line is the featureoriented method. The concept of ”Feature-to-code mapping” is introduced in the implementation phase which recently novel approaches have been proposed to realize it.Despite superiority of the novel approaches in this field, prevalent industrial product lines still use C language and map features to code by leveraging traditional preprocessors of C... 

    Automatic promotional specialization, generalization and analysis of extended feature models with cardinalities in Alloy

    , Article Journal of Logical and Algebraic Methods in Programming ; Volume 84, Issue 5 , September , 2015 , Pages 640-667 ; 23522216 (ISSN) Ajoudanian, S ; Hosseinabadi, S. H. M ; Sharif University of Technology
    Elsevier Inc  2015
    Abstract
    Abstract Software product line engineering is a method of producing a set of related products that share more commonalities than variability in a cost-effective approach. Software product lines provide systematic reuse within a product family. Extended feature models with cardinalities are widely used for managing variability and commonality in the software product line domains. In this paper, we use promotion technique in Alloy to formalize constraint based extended feature models with cardinalities and their specialization and generalization. This technique has a significant influence on applying analysis operations on feature models. To show the benefits of the promotion technique, we... 

    Toward a business model for software product line architecture

    , Article 8th ACIS International Conference on Software Engineering Research, Management and Applications, SERA 2010, 24 May 2010 through 26 May 2010, Montreal, QC ; 2010 , Pages 50-56 ; 9780769540757 (ISBN) Tanhaei, M ; Moaven, S ; Habibi, J ; Ahmadi, H ; Sharif University of Technology
    2010
    Abstract
    Nowadays, software product line is an approach to reduce costs of software development, decrease time to market, and increase capabilities of reuse in designing and exploiting software development processes. Moreover, other quality attributes of the project domain should be considered to enhance quality of the product. Meanwhile, taking advantage of software product line makes developers capable of estimating development costs and time to market in a more realistic way. However, old approaches to estimate cost of development and foresee time to market are not suitable enough for software product line. In this paper, some important business parameters and a way to calculate cost and time to... 

    Toward an architecture-based method for selecting composer components to make software product line

    , Article ITNG2010 - 7th International Conference on Information Technology: New Generations, 12 April 2010 through 14 April 2010 ; April , 2010 , Pages 1233-1236 ; 9780769539843 (ISBN) Tanhaei, M ; Moaven, S ; Habibi, J ; Sharif University of Technology
    2010
    Abstract
    Nowadays, product line, as an important topic in software development domain, has been paid attention by software engineering practitioners. Finding suitable components to construct an efficient and comprehensive product line with low costs is one of the critical problems in this domain which demands to be satisfied. In this paper a method is presented which can manage and control complexities of component selection problem, an NP problem, and result in creation of declared product line. By making use of this method, a product line will be constructed with suitably-adopted components to cover up requirements based on architecture; that's why software product line development process will... 

    Automating feature model refactoring: A model transformation approach

    , Article Information and Software Technology ; Volume 80 , 2016 , Pages 138-157 ; 09505849 (ISSN) Tanhaei, M ; Habibi, J ; Mirian Hosseinabadi, S. H ; Sharif University of Technology
    Elsevier  2016
    Abstract
    Context: Feature model is an appropriate and indispensable tool for modeling similarities and differences among products of the Software Product Line (SPL). It not only exposes the validity of the products’ configurations in an SPL but also changes in the course of time to support new requirements of the SPL. Modifications made on the feature model in the course of time raise a number of issues. Useless enlargements of the feature model, the existence of dead features, and violated constraints in the feature model are some of the key problems that make its maintenance difficult. Objective: The initial approach to dealing with the above-mentioned problems and improving maintainability of the... 

    Comprehensive configuration management model for software product line

    , Article International Journal of Control Theory and Applications ; Volume 9, Issue 25 , 2016 , Pages 301-322 ; 09745572 (ISSN) Darmanaki Farahani, E ; Habibi, J ; Sharif University of Technology
    Serials Publications  2016
    Abstract
    In Software Product Line (SPL), Configuration Management (CM) is a multi-dimensional problem. On the one hand, the Core Assets that constitute a configuration need to be managed, and on the other hand, each product in the product line that is built using a configuration must be managed, and furthermore, the management of all these configurations must be coordinated under a single process. Therefore, CM for product lines is more complex than for single systems. The CM of any software system involves four closely related activities: Change Management (ChM), Version Management (VM), Build Management (BM) and Release Management (RM). The aim of this paper is to provide a comprehensive CM model... 

    A feature model based framework for refactoring software product line architecture

    , Article Journal of Computer Science and Technology ; Volume 31, Issue 5 , 2016 , Pages 951-986 ; 10009000 (ISSN) Tanhaei, M ; Habibi, J ; Mirian Hosseinabadi, S. H ; Sharif University of Technology
    Springer New York LLC  2016
    Abstract
    Software product line (SPL) is an approach used to develop a range of software products with a high degree of similarity. In this approach, a feature model is usually used to keep track of similarities and differences. Over time, as modifications are made to the SPL, inconsistencies with the feature model could arise. The first approach to dealing with these inconsistencies is refactoring. Refactoring consists of small steps which, when accumulated, may lead to large-scale changes in the SPL, resulting in features being added to or eliminated from the SPL. In this paper, we propose a framework for refactoring SPLs, which helps keep SPLs consistent with the feature model. After some... 

    Configuration management model in evolutionary software product Line

    , Article International Journal of Software Engineering and Knowledge Engineering ; Volume 26, Issue 3 , 2016 , Pages 433-455 ; 02181940 (ISSN) Darmanaki Farahani, E ; Habibi, J ; Sharif University of Technology
    World Scientific Publishing Co. Pte Ltd 
    Abstract
    In Software Product Line (SPL), Configuration Management (CM) is a multi-dimensional problem. On the one hand, the Core Assets that constitute a configuration need to be managed, and on the other hand, each product in the product line that is built using a configuration must be managed, and furthermore, the management of all these configurations must be coordinated under a single process. Therefore, CM for product lines is more complex than for single systems. The CM of any software system involves four closely related activities: Change Management (ChM), Version Management (VM), System Building (SB) and Release Management (RM) [I. Sommerville, Software Engineering, 9th edn. (Addison-Wesley,... 

    Configuration Management in Software Product Line

    , Ph.D. Dissertation Sharif University of Technology Darmanaki Farahani, Elham (Author) ; Habibi, Jafar (Supervisor)
    Abstract
    Employing Software Product Lines (SPLs) is an effective strategy for enabling and benefiting from software reuse. This strategy also greatly increases the number and types of artifacts. Managing these artifacts over the lifetime of the product line requires a highly effective Configuration Management (CM) process. This process is more complex for product lines compared to single systems. This is due to the special property of SPLs, in which the CM process must oversee the changes made to all artifacts under its control, especially the Core Assets, since two products may share the same Core Assets, and hence, changing one of them may affect the other. In addition, the CM in SPLs normally... 

    Process patterns for component-based software development

    , Article 12th International Symposium on Component-Based Software Engineering, CBSE 2009, East Stroudsburg, PA, 24 June 2009 through 26 June 2009 ; Volume 5582 LNCS , 2009 , Pages 54-68 ; 03029743 (ISSN); 3642024130 (ISBN); 9783642024139 (ISBN) Kouroshfar, E ; Yaghoubi Shahir, H ; Ramsin, R ; Sharif University of Technology
    2009
    Abstract
    Component-Based Development (CBD) has been broadly used in software development, as it enhances reusability and flexibility, and reduces the costs and risks involved in systems development. It has therefore spawned many widely-used approaches, such as Commercial Off-The-Shelf (COTS) and software product lines. On the other hand, in order to gain a competitive edge, organizations need to define custom processes tailored to fit their specific development requirements. This has led to the emergence of process patterns and Method Engineering approaches. We propose a set of process patterns commonly encountered in component-based development methodologies. Seven prominent component-based... 

    Towards a Mechanism to Design Software Product Line Architecture Based on Heterogeneous Styles

    , M.Sc. Thesis Sharif University of Technology Amirjan, Elahe (Author) ; Habibi, Jafar (Supervisor)
    Abstract
    One of approaches in software architecture design is using architecture styles or patterns. This approach is a suitable way for satisfying functional and nonfunctional requirements and also is cost effective. It is shown that this approach improves effectively quality of software systems. Whereas, choosing a suitability architecture style for complex designs depends on many factors and often one style cannot meet all the requirements, therefore, use of heterogeneous styles can be useful. Also, in software product line architecture design, we must combine different kinds of architectural styles to cover the problem domain and achieve better performance. Correct and accurate choice of...