Loading...
Search for:
ramsin--raman
0.122 seconds
Definition of a Set of Process Patterns for Aspect-Oriented Software Development Methodologies
, M.Sc. Thesis Sharif University of Technology ; Ramsin, Raman (Supervisor)
Abstract
The Aspect-Oriented Software Development (AOSD) approach provides a systematic way to identify, modularize, and represent aspects, i.e. crosscutting concerns in software systems. AOSD methods bring a high level of changeability, configurability, and maintainability in the presence of ever-changing users' requirements. Focusing on aspects during early stages of the software development lifecycle has consequently received special attention by many researchers, leading to the advent of numerous AOSD methods. This has accordingly given a relatively high level of maturity to aspect-oriented (AO) processes. Process patterns, on the other hand, have been adopted as suitable mechanisms for defining...
Development of an Extension Framework for Agile Methodologies to Add Support for Aspect-Oriented Development
, M.Sc. Thesis Sharif University of Technology ; Ramsin, Raman (Supervisor)
Abstract
Aspect-Oriented Software Development (AOSD) concentrates on separation of global cross-cutting concerns, or aspects. The weaknesses of Object-Oriented Software Development (OOSD) in localizing orthogonal concerns simultaneously leads to distributing them across several modules, and thereby creating modules that have to deal with various concerns. This usually results in poor modularization and difficulties in tracing certain requirements (especially nonfunctional requirements) to their implementations. The AOSD approach determines the common aspects that exist across modules created through OOSD, and modularizes them. Thus, AOSD takes the next step in creating modular software. Applying this...
Analyzing and Enhancing Methodology Evaluation Methods
, M.Sc. Thesis Sharif University of Technology ; Ramsin, Raman (Supervisor)
Abstract
The emergence of various software development processes with different aspects raises the need to evaluate and measure their capabilities and deficiencies. The evaluation must consider different parameters of software development projects and their similarities, differences and features in the context of existing methodologies; therefore we need criteria that cover these needs. Apart from the research that has been done on analysis and evaluation of software development methodologies and processes, there is a need for a general multi-aspect framework for the evaluation of methodologies with different aspects. Lack of general criteria for covering different aspects and the inadequacy of...
A Model-Driven Approach for Developing Self-Adaptive Multi-Agent Systems
, M.Sc. Thesis Sharif University of Technology ; Ramsin, Raman (Supervisor)
Abstract
A growing number of distributed information systems need to operate in open, dynamic and heterogeneous environments, and are required to adapt themselves to environmental changes in order to satisfy specific design objectives. These self-adaptive systems are inherently complex, mainly due to the complexity of their environments and the effects of dynamic adjustments made to their structure and behavior. Developing such complex systems is still an important challenge insoftware engineering.Agent technology is considered as an appropriate and powerful paradigm for developing complex and dynamic distributed systems. Intelligent/autonomous agents have been proved useful for enhancing flexibility...
Application of Model Checking Techniques for Evaluating Situational Method Engineering Models
, M.Sc. Thesis Sharif University of Technology ; Ramsin, Raman (Supervisor)
Abstract
Explicitly defining a software process is widely recognized as a necessary practice in software engineering and methodology engineering. However, this does not necessarily mean that the process thus defined is perfect, sound and useful. Evaluation of software processes has therefore become essential, and numerous evaluation approaches have been proposed to detect process inconsistencies and errors. As software processes are complex entities, it is very difficult to evaluate them manually; therefore, many evaluation methods, such as testing and simulation, are not adequate when precise verification of software processes is intended. The model checking approach can be effectively used for...
A Framework for Engineering Agent-oriented Methodologies
, M.Sc. Thesis Sharif University of Technology ; Ramsin, Raman (Supervisor)
Abstract
Agents are autonomous entities that have independent threads of control, and that interact with each other in their environment. Due to the intelligence of agents and their ability as to social interaction, an agent-oriented system exhibits remarkable synergistic traits. Agent-oriented software development facilitates the development of flexible systems that exhibit complex behaviors.Traditional software development methodologies do not sufficiently satisfy the special needs of the agent-oriented paradigm. Therefore, many researchers have focused on developing specialized agent-oriented methodologies, or have worked on extending or adapting existing methodologies so that they can be used for...
Pattern-based Model Transformation Method for Applying Model-driven Development to Method Engineering
, M.Sc. Thesis Sharif University of Technology ; Ramsin, Raman (Supervisor)
Abstract
Constructing bespoke software development processes according to the specifications of the project at hand has become a crucial issue, giving rise to a new branch of engineering known as Situational Method Engineering (SME). Compared with Software Engineering, Situational Method Engineering has not suitably matured, in that many of its deficiencies have not been properly addressed yet; SME approaches are especially deficient in support for modeling, portability, and automation.Model-Driven Development (MDD) has been effectively used for enhancing portability and automation in Software Engineering, and it is also considered as a promising approach for resolving the same issues in SME....
Development of a Model-Driven Development (MDD) Approach to Situational Method Engineering
, M.Sc. Thesis Sharif University of Technology ; Ramsin, Raman (Supervisor)
Abstract
Model Driven Development (MDD) is a promising approach to software development, mainly due to the pivotal role of models in the process, and the high potential it provides for automated model/software generation. Since software processes can themselves be considered as software, any technique or approach applied in the context of software development is also of potential use in the development of software development processes. Accordingly, the MDD approach can potentially be applied in the context of Situational Method Engineering (SME) ? a branch devoted to the study of developing bespoke software development processes and methods based on the specific characteristics of the development...
Development of a Pattern-Based Methodology Engineering Framework for Business Process Reengineering (BPR)
,
M.Sc. Thesis
Sharif University of Technology
;
Ramsin, Raman
(Supervisor)
Abstract
The basic goal of reengineering is to reduce the complexity of a legacy system in order to keep its maintenance costs at an acceptable level. Business Process Reengineering (BPR) mainly focuses on the redesign of business processes in an organization in order to improve the relevant performance and efficiency factors influencing the processes, such as cost and speed, and also to promote the quality of the products produced. Among the different methods and techniques proposed for BPR, the pattern-oriented approach has received considerable attention by researchers. In this approach, the concept of patterns -successful solutions to recurring problems - is applied in the context of BPR in order...
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 ; 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...
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...
By-Example Method for CIM-to-PIM Transformation in Model Driven Development
, M.Sc. Thesis Sharif University of Technology ; Ramsin, Raman (Supervisor)
Abstract
In Model-Driven Development (MDD), models are the main resources and products of analysis, design, implementation, documentation, and maintenance of software systems. MDD approaches intend to increase productivity and reduce time-to-market by enabling development at a higher level of abstraction, using concepts which are closer to the problem domain rather than the ones offered by programming languages. Model-Driven Architecture (MDA) is a MDD framework defined by OMG. MDA defines three levels of models for a software system: Computation-Independent Model (CIM), Platform-Independent Model (PIM), and Platform-Specific Model (PSM). Model transformation is the pivotal concept of MDA, and mainly...
By-Example Model Transformation Method for Model-Driven Method Engineering
, M.Sc. Thesis Sharif University of Technology ; Ramsin, Raman (Supervisor)
Abstract
It has become increasingly important to be able to adapt or construct a software development process based on the specific characteristics of the development project at hand; this has resulted in the emergence of a new branch of study called Situational Method Engineering (SME). Compared with Software Engineering, Situational Method Engineering has not suitably matured, in that many of its deficiencies have not been properly addressed yet; SME approaches are especially deficient in support for modeling, portability, and automation. Model-Driven Development (MDD) has been effectively used for enhancing portability and automation in Software Engineering, and it is also considered as a...
A Methodology for Developing Knowledge Management Systems
, M.Sc. Thesis Sharif University of Technology ; Ramsin, Raman (Supervisor)
Abstract
Dealing with complicated organizational situations in the current competitive and uncertain market requires making the best management decisions at the earliest time possible. As making the best decisions requires the possession of adequate and accurate knowledge, knowledge has become the most valuable asset of organizations. Knowledge Management (KM) spans managing the identification, capture, storage, sharing, usage and creation of knowledge. Using an appropriate Knowledge Management System (KMS) can ensure the provision of essential knowledge for decision making, and can manage the complexity of the competitive market by maintaining and managing the relevant organizational knowledge....
Model-Driven Methodology for Developing Serious Games in the Context of Business Processes
, M.Sc. Thesis Sharif University of Technology ; Ramsin, Raman (Supervisor)
Abstract
Education has become a crucial issue worldwide, and it needs new techniques and technologies to create and raise interest and motivation towards learning. Serious games are gaining acclaim as viable solutions for enhancing educational processes; Serious games are interactive computer applications that use a challenging and amusing context to transfer a practical skill, knowledge or attitude to their users. Organizations and companies need an effective way for teaching their business processes to their employees. There are many business-related serious games. but few of them focus on business processes, most of which are business-specific and no precise approach is used in their development,...
Model-Driven Methodology for Developing Serious Games in the Context of Software Engineering Education
, M.Sc. Thesis Sharif University of Technology ; Ramsin, Raman (Supervisor)
Abstract
As software technology has advanced, many related industries, such as game development, have also evolved. Games are not solely used for enjoyment anymore, and their application has expanded to various domains, the most important of which is education. Serious games connect education and enjoyment by achieving pedagogical objectives through gaming. Experience has shown that using this approach for education can be more effective than traditional methods. Serious games have been applied to various areas of education, one of which is software engineering. Software engineering covers a wide span of knowledge, and a range of methods are required for the education to be effective, especially...
Model-Driven Approach for Software Process Line Engineering
, Ph.D. Dissertation Sharif University of Technology ; Ramsin, Raman (Supervisor)
Abstract
Constructing bespoke software development processes according to the specifications of the project at hand has become a crucial issue, but defining a separate process for each potential project context is a time-consuming and costly endeavor. The Software Process Line (SPrL) is a concept similar to the Software Product Line (SPL), except that it belongs to the domain of software development process engineering; it allows software processes to be constructed according to a specific context by reusing core process assets. Tailoring a process line for constructing project-specific processes is time-consuming and error-prone if done manually; therefore, it is important that a high...
A Framework for Improving Knowledge Management in Situational Method
Engineering
,
Ph.D. Dissertation
Sharif University of Technology
;
Ramsin, Raman
(Supervisor)
Abstract
In today’s methodical corporate world, processes have been recognized as valuable organizational knowledge assets. Situational Method Engineering (SME) processes are considered particularly valuable because of their effectiveness in building context-specific software processes for developing efficient software systems; thus, they indirectly affect all software-dependent organizational knowledge assets, including organizational processes. It is therefore logical to deduce that managing SME knowledge would improve the efficiency of both SME and organizational processes. Unfortunately, existing SME processes suffer from weaknesses that are rooted in loss of knowledge within method engineering...
Definition of a Set of Process Patterns and a Generic Meta-Model for Component-Based Development Methodologies
, M.Sc. Thesis Sharif University of Technology ; Ramsin, Raman (Supervisor)
Abstract
Although Component-Based Development (CBD) is not a novel approach, it is still extensively used for building various types of software systems, and is expected to remain popular for the foreseeable future. There exist several software development methodologies that support the construction of component-based systems, and the domain has matured over the years. When viewed collectively, CBD methodologies have indeed addressed all the relevant issues; however, none of the methodologies covers all the aspects of component-based software development. A general methodology can resolve this through addressing the deficiencies while being customizable according to the specifics of the project...
Criteria Based Framework for Creation of Web-based Application Development Methodologies Using SME
, M.Sc. Thesis Sharif University of Technology ; Ramsin, Raman (Supervisor)
Abstract
Due to the expansion of the Internet, web-based systems have rapidly proliferated. Firms, corporations, supermarket chains and governments provide their services through web-based systems, and there are companies that provide web-based services for other companies. Because of this development and expansion, many web-application development methodologies have been developed, and web-development versions of many renowned methodologies are now available. In order to improve the performance of system engineering teams and increase product quality, it has become necessary to construct or adapt software development methodologies in order to fit the specific project at hand. This method of...
A Framework for Requirements Engineering in Situational Method Engineering
,
M.Sc. Thesis
Sharif University of Technology
;
Ramsin, Raman
(Supervisor)
Abstract
Practitioners and researchers working on Software Development Methodologies (SDM) have always sought for ways to raise the degree of flexibility in SDMs, so that methodologies can be adjusted to specific project situations. Methodology Engineering (ME) approaches are being pursued to this aim, giving rise to Situational Method Engineering (SME). As the pivotal phase of software development, Requirements Engineering (RE) has proved essential in SME; however, SME has a long way to go as to its support for specialized RE practices. The RE practices employed in software engineering seem to provide a rich resource for strategies and techniques that can address this issue, if properly attuned to...