• Title/Summary/Keyword: Behavioral Software Engineering

Search Result 46, Processing Time 0.022 seconds

The Dark Side of Emotional Involvement in Software Development: A Behavioral Economics Perspective

  • Shmueli, Ofira;Pliskin, Nava;Fink, Lior
    • Asia pacific journal of information systems
    • /
    • v.26 no.2
    • /
    • pp.322-337
    • /
    • 2016
  • Research on information systems and software engineering has often neglected behavioral effects, which may play a role in decision making on software development. The current study addresses this issue by empirically investigating the behavioral roots of over-requirement in the context of a software development project via an experiment. The negative phenomenon of over-requirement refers to specifying a software system beyond the actual needs of the customer or the market, which overload the system with unneeded features. The research question addressed here is whether over-requirement is due in part to the emotional involvement of developers with the software features they developed because of behavioral effects. Previous studies have demonstrated that under the endowment, I-designed-it-myself, and IKEA effects, people become emotionally involved and overvalue physical items that they respectively possess, self-design, or self-create. The findings of our experiment show that participants over-valued features they were assigned to be responsible for, to specify, or to construct, thereby confirming that the three behavioral effects play a role in software development decisions and affect over-requirement. Thus, the study contributes to software development research and practice from the behavioral economics perspective, highlighting the roots of over-requirement.

Traceability Validation of Structured Behavioral Feature-Based Embedded SW Architecture Design Method (Structured Behavioral Feature기반 임베디드 SW 아키텍처 설계 방법의 추적성 검증)

  • Lee, Jung Tae;Jeong, Soyoung
    • Proceedings of the Korean Society of Computer Information Conference
    • /
    • 2017.07a
    • /
    • pp.281-284
    • /
    • 2017
  • 최근 임베디드 시스템 개발이 Model Driven Engineering 방식으로 변화하면서 요구사항과 모델 간의 추적성을 보장하는 것이 매우 중요해졌다. 이 논문에서는 기존의 FDD(Feature Driven Development)와 FOSE(Feature Oriented Software Engineering) 방법론에 적용된 feature 개념을 재정의하여 이를 AUTOSAR platform에 적용하는 방법을 제시하며 요구사항부터 model, code까지 추적성을 검증한다.

  • PDF

S/W Developer's IT Project Participation: Focusing on the Moderating Role of Regulatory Focus on the Effect of Technology Recency on Participation Intention (S/W개발자의 IT 프로젝트 참여 의도 연구: 조절초점에 따른 프로젝트 기술 최신성의 효과를 중심으로)

  • Park, Yohan;Park, Do-Hyung
    • Knowledge Management Research
    • /
    • v.18 no.2
    • /
    • pp.45-63
    • /
    • 2017
  • In the success of an IT project, the role of S/W developer in carrying out the project is critical and crucial. However, compared to its importance, there is only a few studies on the role of human resources in software engineering field, mainly focusing on technology. Based on regulatory focus theory, this study examines how the effect of technology recency on developer's intention to participate in the IT project changes depending on the regulatory focus of the software developer. As a result of the experiment, it was confirmed that there is a difference in the effect of technology recency on project participation intention according to the condition of developer's regulatory focus. This study is meaningful because it extends regulatory focus theory to software engineering field and made theoretical contribution to the research field of behavioral software engineering. In practical, it was possible to suggest a way to improve the intention of the developer to participate in the project, by understanding the software developer in the IT project, considering the software developer propensity and project characteristics.

Supporting Systematic Software Test Process in R&D Project with Behavioral Models

  • Choi, Hyorin;Lee, Jung-Won;Lee, Byungjeong
    • Journal of Internet Computing and Services
    • /
    • v.19 no.2
    • /
    • pp.43-48
    • /
    • 2018
  • Various artifacts that are produced as software R&D project progresses contain research plan, research report, software requirements and design descriptions, etc. When conducting a software R&D project, it is necessary to confirm that the developed system has implemented its research requirements well. However, various research results make it difficult to design appropriate tests. So, there is a practical need for us to comprehensively handle the planning, execution, and reporting of software test for finding and verifying information related to the research. In this paper, we propose a useful method for software test process in R&D project which supports model based software testing. The proposed method supports automation of test design and generation of test data by explicitly separating each step of System Under Test (SUT). The method utilizes the various models representing the control flow of the function to extract the information necessary for testing the system. And it supports a systematic testing process based on TMMi and ISO 29119. Finally, we show the validity of the method by implementing a prototype with basic functionality to generate test data from software behavioral models.

A Scalable and Modular Approach to Understanding of Real-time Software: An Architecture-based Software Understanding(ARSU) and the Software Re/reverse-engineering Environment(SRE) (실시간 소프트웨어의 조절적${\cdot}$단위적 이해 방법 : ARSU(Architecture-based Software Understanding)와 SRE(Software Re/reverse-engineering Environment))

  • Lee, Moon-Kun
    • The Transactions of the Korea Information Processing Society
    • /
    • v.4 no.12
    • /
    • pp.3159-3174
    • /
    • 1997
  • This paper reports a research to develop a methodology and a tool for understanding of very large and complex real-time software. The methodology and the tool mostly developed by the author are called the Architecture-based Real-time Software Understanding (ARSU) and the Software Re/reverse-engineering Environment (SRE) respectively. Due to size and complexity, it is commonly very hard to understand the software during reengineering process. However the research facilitates scalable re/reverse-engineering of such real-time software based on the architecture of the software in three-dimensional perspectives: structural, functional, and behavioral views. Firstly, the structural view reveals the overall architecture, specification (outline), and the algorithm (detail) views of the software, based on hierarchically organized parent-chi1d relationship. The basic building block of the architecture is a software Unit (SWU), generated by user-defined criteria. The architecture facilitates navigation of the software in top-down or bottom-up way. It captures the specification and algorithm views at different levels of abstraction. It also shows the functional and the behavioral information at these levels. Secondly, the functional view includes graphs of data/control flow, input/output, definition/use, variable/reference, etc. Each feature of the view contains different kind of functionality of the software. Thirdly, the behavioral view includes state diagrams, interleaved event lists, etc. This view shows the dynamic properties or the software at runtime. Beside these views, there are a number of other documents: capabilities, interfaces, comments, code, etc. One of the most powerful characteristics of this approach is the capability of abstracting and exploding these dimensional information in the architecture through navigation. These capabilities establish the foundation for scalable and modular understanding of the software. This approach allows engineers to extract reusable components from the software during reengineering process.

  • PDF

A Comparative Study of Formal Methods for Safety Critical Software in Nuclear Power Plant

  • Sedo Sohn;Seong, Poong-Hyun
    • Nuclear Engineering and Technology
    • /
    • v.32 no.6
    • /
    • pp.537-548
    • /
    • 2000
  • The requirement of ultra high reliability of the safety critical software can not be demonstrated by testing alone. The specification based on formal method is recommended for safety system software. But there exist various kinds of formal methods, and this variety of formal method is recognized as an obstacle to the wide use of formal method. In this paper six different formal method have been applied to the same part of the functional requirements that is calculation algorithm intensive. The specification results were compared against the criteria that is derived from the characteristics that good software requirements specifications should have and regulatory body recommends to have. The application experience shows that the critical characteristics should be defined first, then appropriate method has to be selected. In our case, the Software Cost Reduction method was recommended for internal condition or calculation algorithm checking, and statechart method is recommended for the external behavioral description.

  • PDF

AJFCode: An Approach for Full Aspect-Oriented Code Generation from Reusable Aspect Models

  • Mehmood, Abid;Jawawi, Dayang N.A.
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • v.16 no.6
    • /
    • pp.1973-1993
    • /
    • 2022
  • Model-driven engineering (MDE) and aspect-oriented software development (AOSD) contribute to the common goal of development of high-quality code in reduced time. To complement each approach with the benefits of the other, various methods of integration of the two approaches were proposed in the past. Aspect-oriented code generation, which targets obtaining aspect-oriented code directly from aspect models, offers some unique advantages over the other integration approaches. However, the existing aspect-oriented code generation approaches do not comprehensively address all aspects of a model-driven code generation system, such as a textual representation of graphical models, conceptual mapping, and incorporation of behavioral diagrams. These problems limit the worth of generated code, especially in practical use. Here, we propose AJFCode, an approach for aspect-oriented model-driven code generation, which comprehensively addresses the various aspects including the graphical models and their text-based representation, mapping between visual model elements and code, and the behavioral code generation. Experiments are conducted to compare the maintainability and reusability characteristics of the aspect-oriented code generated using the AJFCode with the most comprehensive object-oriented code generation approach. AJFCode performs well in terms of all metrics related to maintainability and reusability of code. However, the most significant improvement is noticed in the separation of concerns, coupling, and cohesion. For instance, AJFCode yields significant improvement in concern diffusion over operations (19 vs 51), coupling between components (0 vs 6), and lack of cohesion in operations (5 vs 9) for one of the experimented concerns.

Code Refactoring Techniques Based on Energy Bad Smells for Reducing Energy Consumption (Energy Bad Smells 기반 소모전력 절감을 위한 코드 리팩토링 기법)

  • Lee, Jae-Wuk;Kim, Doohwan;Hong, Jang-Eui
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.5 no.5
    • /
    • pp.209-220
    • /
    • 2016
  • While the services of mobile devices like smart phone, tablet, and smart watch have been increased and varied, the software embedded into such devices has been also increased in size and functional complexity. Therefore, increasing operation time of mobile devices for serviceability became an important issue due to the limitation of battery power. Recent studies focus on the software development having efficient behavioral patterns because the energy consumption of mobile devices is caused by software behaviors which control the hardware operations. However, it is often difficult to develop the embedded software with considering energy-efficiency and behavior optimization due to the short development cycle of the mobile services in many cases. Therefore, this paper proposes the refactoring techniques for reducing energy consumption, and enables to fulfill the energy requirements during software development and maintenance. We defined energy bad smells with the code patterns that can excessively consume the energy, and our refactoring techniques are to remove these bad smells. We performed some case studies to verify the usefulness of our refactoring techniques.

Diagrammatic Formalism for Complex Systems: More than One Way to Eventize a Railcar System

  • Al-Fedaghi, Sabah
    • International Journal of Computer Science & Network Security
    • /
    • v.21 no.2
    • /
    • pp.130-141
    • /
    • 2021
  • This paper is in the intersection of software engineering and system engineering, two intimately intertwined disciplines. A dominating theme in this paper is the integral conceptualization of systems at large, as well as an underlying concern with software systems. In the software development life cycle, challenges still exist in translating requirements into a design artifact and then into an implementation (e.g., coding), then validating the results. From our perspective, software engineering requires an integrating paradigm toward a unified modeling orientation. Many methodologies, languages, and tools exist for facilitating system development processes. This paper is a venture into project development. To focus the materials, we concentrate on Harel's novel (and classic) development environment, which integrates a scenario-based engineering object orientation and statecharts through developing a railcar system. The railcar system is used as a detailed sample of translating requirements into a design artifact and then into an implementation, then validating the result. The project is re-cased as a single integrated modeling endeavor to be contrasted with the scenario and statecharts' development. The result of this scheme is an enriched understanding through experimenting with and contrasting various development methods of software projects.

XML based Software Architecture Specification Language for Reuse (재사용을 위한 XML 기반 소프트웨어 아키텍쳐 명세 언어)

  • Lee, Yun-Su;Yun, Gyeong-Seop;Wang, Chang-Jong
    • The Transactions of the Korea Information Processing Society
    • /
    • v.7 no.3
    • /
    • pp.808-817
    • /
    • 2000
  • Component specification languages in consideration of reuse are essential factor in classification, verification and retrieval of components. A number of legacy specification languages have already been used, however, they are complex and include many necessary elements in the specification for implementation. In this paper, we present XML-based component specification and software architecture specification language to solve these problems of legacy specification languages. The presented specification languages consist of component specification, which is composed of signature specification, interface specification and message specification, and software architecture specification providing graphical notations and textural notations. Component specification supports component retrieval with behavioral match and black-box reuse of component. In addition to this, it improves the efficiency of retrieval and document management with XML-based component specification. Software architecture specification supports the structural reuse of architecture, which is white-box reuse, through mesage-based architecture specification.

  • PDF