Towards Understanding the Use of Patterns in Software Engineering

Author(s):  
Pankaj Kamthan

There are a number of avenues of articulating experiential knowledge, including patterns. However, the mere availability of patterns does not lead to their suitable use, if at all. In order to establish a systematic approach for using patterns, a pattern stakeholder model and a general, process environment-neutral and domain-independent pattern usage model are proposed, and the relationships between them are underscored. The underlying essential and accidental concerns in putting patterns into practice by pattern stakeholders are highlighted and, in some cases, possible resolutions are suggested. In particular, challenges in acquisition, selection, and application of patterns are discussed.

Author(s):  
Pankaj Kamthan

The reliance on past experience is crucial to the future of software engineering. There are a number of avenues for articulating experiential knowledge, including patterns. It is the responsibility of a pattern author to ensure that the pattern is expressed in a manner that satisfies the reason for its existence. This chapter is concerned with the suitability of a pattern description for consumption by both humans and machines. For that, a pattern description model (PDM), and a pattern stakeholder model (PSM) and a pattern quality model (PQM) as necessary input to the PDM, are proposed. The relationships between these conceptual models are highlighted. The PDM advocates the use of descriptive markup for representation and suggests the use of presentation markup for presentation of information in pattern descriptions, respectively. The separation of representation of information in a pattern description from its presentation is emphasized. The potential uses of the Semantic Web and the Social Web as mediums for publishing patterns are discussed.


2010 ◽  
pp. 457-471
Author(s):  
Pankaj Kamthan

The aim of this article is a technological revitalization of software engineering education from human and social perspectives. It adopts a systematic approach towards integrating the Social Web environment (including technologies and applications based on those technologies) in software engineering education, both inside and outside the classroom. To that regard, a feasibilitysensitive methodology for incorporating the Social Web environment in software engineering education that supports a heterogeneous combination of objectivism and constructivism is proposed and explored. The potential prospects of such integration and related concerns are illustrated by practical examples.


Author(s):  
Pierre C Vella ◽  
Stefan S Dimov ◽  
Roussi Minev ◽  
Emmanuel B Brousseau

This article presents a systematic approach for assessing the maturity of manufacturing technologies. A methodology is proposed that is based on modelling the capability of the individual processes and technology interfaces between them. It is inspired by a capability maturity model which has been applied successfully in the field of software engineering. The methodology was developed to assess the maturity levels of individual processes and the combined maturity of pairs or chains of processes. To demonstrate its validity, it was applied for assessing the maturity of technologies in the micro and nano manufacturing domain. The results demonstrated its applicability as a tool for evaluating the maturity of micro and nano manufacturing pairs and their constituent processes. Also, it was shown that the methodology can be employed for identifying process pairs, suitable for integration in process chains, together with their potential weaknesses.


Author(s):  
SIDNEY C. BAILIN ◽  
ROBERT H. GATTIS ◽  
WALT TRUSZKOWSKI

As part of the NASA/Goddard Code 522.3 research program in software engineering, a Knowledge-Based Software Engineering Environment (KBSEE) is being developed. The KBSEE will support a comprehensive artifact-reuse capability and will incorporate knowledge-based concepts such as machine learning and design knowledge capture. The distinguishing features of this work are that it is a systematic approach to the reuse of knowledge, not just of products, and it implements learning as an explicitly supported function in a software engineering environment. Each of these objectives is currently being pursued in a distinct prototype environment: design knowledge capture and knowledge reuse in KAPTUR (Knowledge Acquisition for Preservation of Tradeoffs and Underlying Rationales), and learning in LEARN (Learning Enhanced Automation of Reuse Engineering). Despite their prototype realization in different environments, the integration of these approaches into an overall KBSEE is a key goal of our work.


Author(s):  
S.Filzah Zulkifli ◽  
CW Shiang ◽  
N Jali ◽  
M.A. Khairuddin

<span>This paper presents Modelling Emotion Expression through Agent Oriented Methodology. Considering emotions of the intended users in the software engineering can uncover new requirements to improve and more accepted the system. While emotion is paying much attention nowadays, there is lacking systematic way to model the emotion based system. Without the systematic approach, it is hard to debug, design and develop an emotion based system. Since the emotional requirement of people has not being fully investigated, the research outcome propose the emotion modelling as part of the complete set of agent-oriented modelling for virtual character in eLearning system, The contribution of this paper is to introduce agent oriented modelling to systematic model an emotion based solution for an eLearning system and instructional video design. With the emotion model, it can serve as a guide to design, redesign, and discuss the emotion elements among the software development team. This is important for better debugging and project management especially for emotion led system.</span>


2016 ◽  
Vol 2 (3) ◽  
Author(s):  
Dr.Mohamed E. Fayad ◽  
Charles A. Flood Flood

The term Software Reuse can be defined as a process of developing software systems from existing ones, instead of creating them from scratch [2, 3, 4, 5]. In many software engineering disciplines, systems are designed by recomposing existing software components that have been used in other systems. It has become a topic of renewed interest in the software community because of its potential benefits, which include increased product quality, decreased product cost and schedule. Software is rarely built completely from scratch. To a great extent, existing software documents (source code, design documents, etc.) are copied and adapted to fit new requirements. Software engineering is focused more on original development. However, it is now recognized that to create better software in a time efficient and cost effective way, we may need to adopt a design process that is based on systematic software reuse factors. This paper aims at applying Software Stability Model (SSM) approach towards creating a model for Unified Software Reuse that is applicable in all scenarios and diverse domains. The software stability notion ensures high reuse ability, stability and a more design efficient model, which is domain independent too. The key contribution of this Paper is to present an idea of having a stable analysis pattern listing the Enduring business themes (EBTs) and Business Objectives (BOs) involved in the area of Unified Software Reuse. Such a generic model can further be applied to any possible scenario. .


1998 ◽  
Vol 37 (04/05) ◽  
pp. 540-550 ◽  
Author(s):  
M. A. Musen

AbstractDomain ontologies are formal descriptions of the classes of concepts and the relationships among those concepts that describe an application area. The Protege software-engineering methodology provides a clear division between domain ontologies and domain-independent problemsolvers that, when mapped to domain ontologies, can solve application tasks. The Protege approach allows domain ontologies to inform the total software-engineering process, and for ontologies to be shared among a variety of problem-solving components. We illustrate the approach by describing the development of EON, a set of middleware components that automate various aspects of protocol-directed therapy. Our work illustrates the organizing effect that domain ontologies can have on the software-development process. Ontologies, like all formal representations, have limitations in their ability to capture the semantics of application areas. Nevertheless, the capability of ontologies to encode clinical distinctions not usually captured by controlled medical terminologies provides significant advantages for developers and maintainers of clinical software applications.


2011 ◽  
Vol 403-408 ◽  
pp. 4495-4498
Author(s):  
K. Madhuri ◽  
M. Suman ◽  
M. Nalini Sri ◽  
K. Ravi Kumar ◽  
U. Jyothi Kameswari

Security testing involves two approaches; the question of who should do it has two answers. Standard testing organizations using a traditional approach can perform functional security testing. For example, ensuring that access control mechanisms work as advertised is a classic functional testing exercise. Systematic security testing approaches should be seamlessly incorporated into software engineering curricula and software development process. Traditional software engineering textbooks failed to provide adequate methods and techniques for students and software engineers to bring security engineering approaches to software development process generating secure software as well as correct software. This paper argues that a security testing phase should be added to software development process with systematic approach to generating and conducting destructive security test sets following a complete coverage principle. Software engineers must have formal training on writing secure code. The security testing tasks include penetrating and destructive tests that are different from functional testing tasks currently covered in software engineering textbooks Moreover, component-based development and formal methods could be useful to produce secure code, as well as automatic security checking tools. Some experience of applying security testing principles in our software engineering method teaching is reported.


Author(s):  
Pankaj Kamthan

The software engineering educational system influences, and is influenced by, a number of social and technical factors of the ecosystem in which it resides. The Social Web environment includes a number of technologies and applications based on those technologies. The aim of this chapter is to examine a technological revitalization of software engineering education (SEE) from the perspective of the Social Web. In doing so, a systematic approach towards integrating the Social Web environment in SEE is explored. The potential prospects and associated concerns of such integration, both inside and outside the classroom, are illustrated by a number of practical examples.


2019 ◽  
Vol 49 (3) ◽  
pp. 281-309 ◽  
Author(s):  
David Ribes ◽  
Andrew S Hoffman ◽  
Steven C Slota ◽  
Geoffrey C Bowker

The logic of domains has become a key organizing principle for contemporary computing projects and in broader science policy. The logic parses collectives of expertise into ‘domains’ that are to be studied or engaged in order to inform computational advancements and/or interventions on the domains themselves. The concept of a domain is set against a proposition that there is a more general, domain independent or agnostic technique that can serve to intermediate the domains. This article contrasts instances of this discourse, organizing and techne, drawing from cases in artificial intelligence, software engineering, and science policy to illustrate three ongoing figurations of the logic as i) experimental research, ii) formalization in method and software tools, and iii) a de facto organizing principle for science policy and technology development.


Sign in / Sign up

Export Citation Format

Share Document