Loading...
Search for: software-architecture
0.011 seconds
Total 55 records

    An Engineering Approach to Software Modeling Language Development

    , Ph.D. Dissertation Sharif University of Technology Kamandi, Ali (Author) ; Habibi, Jafar (Supervisor)
    Abstract
    Nowadays, the essentiality of appropriate modeling languages has become evident, and with the introduction of new concepts such as domain-specific languages, the need for systematic research on designing and engineering new modeling languages has increased significantly. Several modeling languages have been developed and employed over the years, but the area of modeling languages still suffers from the lack of a proper framework: There is a strong need for an engineering framework that specifies the detailed steps of language development, the input and output artifacts of each step, the techniques applicable to each step, and quantifiable methods for quality measurement. From a unified point... 

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

    Using AHP Method to Evaluate Architecture Style Designs

    , M.Sc. Thesis Sharif University of Technology Akhoddad, Zahra (Author) ; Habibi, Jafar (Supervisor)
    Abstract
    Due to the increase in size and complexity of software systems, choosing suitable software architecture is a fundamental issue. One of the most effective ways for designing and valuating software architectures is to adopt architectural styles. An architectural style is an approach for reaping the benefits of similarities that exist between various architectures. Adoption of architectural styles in the design process of a software system assures the employment of strength points of specifications that belong to each architectural style. However, selecting a suitable architectural style depends on different criteria. Therefore it makes the ... 

    Towards a Framework for Improving Process Management of Service-Oriented Architecture Based on Requirements

    , M.Sc. Thesis Sharif University of Technology Taherkhani, Reza (Author) ; Habibi, J. (Jafar) (Supervisor)
    Abstract
    Software architecture has been known as one of the fundamental elements of effective software development process. In order to improve and optimize the software architecture design, many attempts have been made among which are introducing architectural patterns. Because of high advantages of service-oriented architecture, it is considered as one of the main interests of software developers. It should be noted, however, that getting advantages from service-oriented architecture is not possible without having an efficient management within its processes. In other words, using service-oriented architecture without considering its process management challenges, can lead to increased costs and... 

    Development of a Framework for Software Architecture Extraction of Existing Projects Based on Their Requirements

    , M.Sc. Thesis Sharif University of Technology Dashti Rahmat Abadi, Mohammad (Author) ; Habibi, Jafar (Supervisor)
    Abstract
    The architecture of a software system, its elements and the way they interact is a valuable treasure for understanding the system. If architecture description of a system is not available, working on its extraction and reconstruction should be done. For a software with huge size and vast complexity, architecture extraction by hand and without any predefined method is nearly impossible. So, it is essential for software architecture extractor to use a framework and a well-defined process related to it, for extracting the software architecture. It can help him to use automated tools as much as possible in addition to havingauniquelogicalstructureforperformingthearchitectureextractionprocess. In... 

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

    Towards A Framework for Knowledge Acquisition in Decision Support System in Software Architecture Domain

    , M.Sc. Thesis Sharif University of Technology Ziaie, Azarakhsh (Author) ; Habibi, Jafar (Supervisor) ; Abtahi, Ebrahim (Co-Advisor)
    Abstract
    Making Decision about software architecture design is a multi-criteria problem which depends on different factors. One of the main problems in software architecture is the high cost and complexity of Decision making which is rooted in knowledge vaporiza-tion. In fact current developers of the system are not necessarily the primary designers of the architect. Thus, the system cannot be understood without the knowledge about the history of the architecture. Additionally, a good organization of knowledge will be helpful in terms of knowledge reuse and best practices which leads to low cost of architecture.Due to the importance of knowledge in software architecture, knowledge acquisition as well... 

    Towards a Knowledge-Based Approach for Creating Software Architecture Patterns Ontology

    , M.Sc. Thesis Sharif University of Technology Rabinia, Zahra (Author) ; Habibi, Jafar (Supervisor) ; Abtahi, Ebrahim (Co-Advisor)
    Abstract
    Software architecture patterns present solutions for facing with architecture problems and help to document the architectural design decisions. But diversity, complexity, and required expertise for selecting an appropriate pattern, would cause some difficulties in using architectural patterns. Using an ontology for registration of architectural patterns playing an efficient role in solving those problems. But the mentioned difficulties make the process of constructing the architectural patterns ontology more complicated. This thesis proposes an approach that would consider the construction of the architectural patterns ontology from four perspectives in order to overcome the ontology... 

    Towards a Method to Architectural Decision Making in Collaborative Environments

    , M.Sc. Thesis Sharif University of Technology Samghani Nejad, Marzieh (Author) ; Habibi, Jafar (Supervisor)
    Abstract
    Considering the aggregation of software architecture design decisions, the decision on appropriate from, is important to the success of a software project. Hence, the software architects need reliable and accurate process for correct decision making which seeks to reduce risk and increase productivity. Furthermore, different stakeholders involved in the architectural design process and presence of cooperation between them for architecture decision making indicates the nature of collaborative activities related to architectural design. Effective collaboration among those involved in the design process not only will affect on the quality and accuracy of the architecture, but also accelerates... 

    Analysis and Optimization of Architectural Quality Requirements for Federated Clouds

    , M.Sc. Thesis Sharif University of Technology Pourreza, Maryam (Author) ; Habibi, Jafar (Supervisor)
    Abstract
    Proposing a comprehensive architecture for cloud federation with the aim of satisfying stakeholders the most, is one of the most challenging issues in this context. For an architecture to be comprehensive, requirements should be elicited thoroughly in early stages of architecture design. Since covering all requirements is a very complicated task, prioritization is considered to be a vital step which can help architects to focus on more important requirements in their design as well as to evaluate existing architectures. In this research, architecturally signifcant quality requirements of cloud federation for aggregated cloud architectures are studied and categorized. Moreover, elicited... 

    Checking the Compliance of Software Architecture Evolution with its Rules

    , M.Sc. Thesis Sharif University of Technology Liaghat, Zainab (Author) ; Izadi, Mohammad (Supervisor)
    Abstract
    With long-term evolution of large scale software systems, the study and engineering of architectural evolution becomes more and more important. In order to manage high level changes, the architects should plan the architecture evolution in a series of releases. Planning and analysis of architectural evolution is a challenge and plays a significant role in evolution management. An assessment solution could promote overall accuracy and quality of the evolution process. Compliance checking with expert-defined rules is a well-known assessment solution and could be applied in the field of architectural evolution. In this thesis, a solution is proposed in order to compliance check these evolution... 

    Proposing a Resource Discovery Framework for Internet of Things Platforms

    , M.Sc. Thesis Sharif University of Technology Esmaeili, Mohsen (Author) ; Habibi, Jafar (Supervisor)
    Abstract
    The Internet of Things (IoT) is one of the fields witnessing a significant growth in recent years and is expected to make the lives of so many people go under substantial changes. IoT will exploit large numbers of smart objects in people’s everyday life to bring smartness into reality and this necessitates correct and seamless connection and integration between smart entities. One of the key tasks of the IoT platform is providing such a connection, which is assigned to the resource discovery framework.A resource discovery framework should consider requirements and challenges present in the IoT environment. Heeding the literature, one finds deficiencies in this field. These shortcomings are... 

    Improvement of Software Quality Attributes based on the Properties of Relational and Non-relational data Models

    , M.Sc. Thesis Sharif University of Technology Moghimi, Hamed (Author) ; Habibi, Jafar (Supervisor)
    Abstract
    With the growing use of computer systems, especially in form of web applications, software development and customer requirements has become more complex. Modern computer systems are supposed to achieve non-functional requirements in addition to functional requirements. Non-functional requirements are also called software quality attributes. One of the most important quality attributes for today's software systems is performance. Today’s softwares due to the growing number of their users, need more efficiency than ever to properly meet the performance request.Storage components and databases are the most important factors in causing performance bottlenecks in web applications. Most of... 

    Towards a Framework for Self-adaptive Service-oriented Architecture Based on Quality Attributes and Patterns

    , M.Sc. Thesis Sharif University of Technology Parvizi Mosaed, Alireza (Author) ; Habibi, Jafar (Supervisor) ; Mirian Hosseinabadi, Hassan ($item.subfieldsMap.e)
    Abstract
    One of the major and costly activity in Information Systems is controlling the quality of Service-Oriented Architecture (SOA) that has some challenges such as a long time is needed for detection and refinement of changeability of architecture qualities, how to quantify its quality attributes and variation in architecture changes. Self-adaptation of architecture is a novel automatic method that can be composed with architectural patterns to quantify and control the quality of SOA. In this paper, a self-adaptive framework, process and methodology is defined for this issue. Based on MAPE-K model, evaluation metrics by applying architectural tactics and final quality based on quality models and... 

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

    Towards a Architectural Model for Configuration Management of Software Architecture

    , M.Sc. Thesis Sharif University of Technology Alidoosti, Razie (Author) ; Habibi, Jafar (Supervisor)
    Abstract
    Given the importance of software architecture in the field of software engineering and its influence, much attention has been paid to it in the past few decades. This has led to significant progress in the development and expansion of the technical foundations of design as an engineered discipline and today is regarded as a mature branch of producing cycle and software development. But considerations related to design based on architecture and activities required to achieve a correct and complete architecture 100 percent is difficult and considering progress of technology, this problem is adding to the concerns in the field of architecture. As a result, different approaches and activities... 

    Developing a Set of Patterns for Migrating Applications into the Cloud

    , M.Sc. Thesis Sharif University of Technology Balalaie, Armin (Author) ; Heydarnoori, Abbas (Supervisor)
    Abstract
    Cloud computing offers its customers and organizations many advantages such as turning CAPEX to OPEX in the business side, and enabling scalability and fast and easy resource provisioning in the technical side. Using these features, companies can benefit from deployment in the cloud at a lower cost, and at the same time, focus more on their business. Therefore, many organizations are migrating their vital systems to the cloud because of its many benefits. Research on this topic has been started a few years ago, and since then, many approaches including architecture-based, model-driven, and SOA-based approaches have been proposed. Some of these solutions are just adaptations of the... 

    Code Change Analysis and its Impact on Software Architecture

    , M.Sc. Thesis Sharif University of Technology Fakharian, Peyman (Author) ; Mirian Hosseinabadi, Hassan (Supervisor)
    Abstract
    Software versioning is always considered one of the main principle activities in maintain software systems. Investigating code and software architecture conformance in different versions of software and its impact on other parts of the system due to its needed granularity, or even on high abstraction models, such as software design and software architecture are considered as a challenge in this area. Code level changes frequently result in the changes in high-level abstractions unintentionally and would impact the performance of a software system. While this true, not only software engineers need to test the code functionalities which are changed but also test the various impacted parts of... 

    Extracting Architecture and Mapping it to the Architecture Styles from Existing Methodologies and Survey the Benefits of using Them

    , M.Sc. Thesis Sharif University of Technology Isazadeh, Iman (Author) ; Habibi,Jafar (Supervisor)
    Abstract
    Nowadays, research in the field of software architecture has become an important topic as a key element in software processes. Software Development Methodologies are not excluded. Importance and the need to improve and maintain methods, training new people and producing reasonable documents have highlighted the role of software architecture, especially in the methods that do not good predictions for these cases. In this project a solution would be introduced that we can extract the architecture of a methodology by using in hand techniques and tools. Then we would map the extracted architecture to architectural styles. So in addition of the benefit of using an architecture based design, we... 

    Cloud Federation by Leveraging Spot Prices

    , Ph.D. Dissertation Sharif University of Technology Haghshenas, Hamid (Author) ; Habibi, Jafar (Supervisor)
    Abstract
    In cloud federation, a number of cloud service providers (CSP) interoperate to rent each other's computing resources. When a CSP finds a lack in its resources, it can use other CSPs' spare resources for its jobs. This way, the number of physical resources needed by CSPs decreases, since they don't need a pessimistic forecast for resource provision. In this thesis, we analyze possibility of such federation from an architectural viewpoint and then, propose a model to realize such federation. First, we study architectural requirements of cloud federation. A number of important requirements are gathered from previous work. These requirements are then categorized and prioritized, showing that...