Loading...
Search for: product-lines
0.011 seconds
Total 32 records

    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... 

    Development of a Process Line Engineering Approach Based on Product Line Engineering Methods for Engineering Agent Oriented Methodologies

    , M.Sc. Thesis Sharif University of Technology Golpayegani, Fatemeh (Author) ; Ramsin, Raman (Supervisor)
    Abstract
    Product Line Engineering (PLE) is a well-established discipline in software engineering, and has gained widespread adoption in industry. Software product lines are considered an efficient means for mass production of software systems, and many companies have based their software development processes on PLE principles and practices.
    Situational Method Engineering (SME) has so far been mainly concerned with metamodels and method chunk repositories; through using these means, methodologies are constructed or extended to address the specific requirements of a software development project. A recent development in SME is the introduction of “Process” Line Engineering, which promises new... 

    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... 

    Multi-Objective Simulation Optimization and its Application in Buffer Allocation Problem

    , M.Sc. Thesis Sharif University of Technology Marani, Mohammad Reza (Author) ; Mahlooji, Hashem (Supervisor)
    Abstract
    This work attempts to address the buffer allocation problem in an unreliable, linear production line. We try to determine the optimal sizes of buffers between adjacent work stations in such a way that a measure of costs is minimized and the production rate is simultaneously maximized. We resort to simulation optimization in order to determine the best combination of input parameters that leads to a near optimal performance for the system. To achieve this purpose, we employ a multi-objective genetic algorithm (NSGAII) in the optimization phase along with simulation as the tool for evaluating the objective function. To determine the merits of the proposed method, we compare the performance of... 

    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... 

    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... 

    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... 

    A Framework for Refactoring Architecture in Software Product Line

    , Ph.D. Dissertation Sharif University of Technology Tanhaei, Mohammad (Author) ; Habibi, Jafar (Supervisor) ; Mirian Hosseinabadi, Hassan (Supervisor)
    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 and a reference architecture are usually used to keep track of similarities and differences. Each product of the SPL has their own architecture too. Software Architecture (SA) generally has a considerable influence on software quality attributes. Coordination of software architecture to the requirements of the stakeholders and avoiding common mistakes and faults in designing SA increases the chance of success of the project and satisfaction of the stakeholders. Making the wrong decisions during the architectural design phase usually... 

    Test Cases Selection Based on the Software Source Code Features

    , M.Sc. Thesis Sharif University of Technology Tamadon, Mahdi (Author) ; Mirian Hossein Abadi, Hassan (Supervisor)
    Abstract
    Quality Assurance is one of the crucial steps in software production and should be repeated. These days, software companies are using continuous integration (CI) pipelines for building software and controlling software quality. Regression test, is a test which is performed after each change in software, to assess the quality of the software system and its ability to meet functional and non-functional needs. Each execution of this test, leads to infrastructure costs and a waste of time for the software development team. The reason is that the development team has to wait until the test is completed to ensure that the changes are correct. To reduce this cost, methods such as prioritizing and... 

    Software Product Line Testing Optimization Based on Regression Test Techniques

    , M.Sc. Thesis Sharif University of Technology Mousavi Khoshdel, Narges Sadat (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    A software product line is a set of products with common features. The design of this set is such that the core assets that are common features between products are implemented only once. All products in the product line use the core assets to reduce development costs. The number of products that can be produced in a software product line is exponential to the number of capabilities in the core assets and the set is very large, so the cost of testing the software product line will be very high. In the software product line testing, various methods have been provided to reduce costs, among which we can mention product prioritization and regression test techniques. In prioritization, the... 

    A Framework for Facilitating the Simultaneous Implementation of the SAFe 5.1 and ITIL 4

    , M.Sc. Thesis Sharif University of Technology Rouhafza, Reza (Author) ; Shokraneh Moghaddam, Shokraneh (Supervisor)
    Abstract
    One of the most widely used approaches for managing Agile product development in large software organizations is the Scaled Agile Framework (SAFe). Additionally, many organizations use ITIL as a framework for providing services around these products. Neither of these management methods has provided a precise opinion on the other's domain, which can create a realm of ambiguity when implementing both of these management approaches simultaneously. This research attempts to mitigate the ambiguities associated with the concurrent use of SAFe 5.1 and ITIL 4 management methods by proposing a framework to facilitate their implementation. In this study, after identifying the gaps between these... 

    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... 

    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,... 

    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... 

    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... 

    Feature model configuration based on two-layer modeling in Software Product Lines

    , Article International Journal of Electrical and Computer Engineering ; Volume 9, Issue 4 , 2019 , Pages 2648-2658 ; 20888708 (ISSN) Farahani, E. D ; Habibi, J ; Sharif University of Technology
    Institute of Advanced Engineering and Science  2019
    Abstract
    The aim of the Software Product Line (SPL) approach is to improve the software development process by producing software products that match the stakeholders' requirements. One of the important topics in SPLs is the feature model (FM) configuration process. The purpose of configuration here is to select and remove specific features from the FM in order to produce the required software product. At the same time, detection of differences between application's requirements and the available capabilities of the implementation platform is a major concern of application requirements engineering. It is possible that the implementation of the selected features of FM needs certain software and...