• Title/Summary/Keyword: 소프트웨어설계

Search Result 4,873, Processing Time 0.046 seconds

Fundamental Principles for Software Architecture Design (소프트웨어 아키텍처 설계의 근본 원리들)

  • Kang, Sungwon
    • Journal of Software Engineering Society
    • /
    • v.23 no.4
    • /
    • pp.125-139
    • /
    • 2010
  • This paper first examines the notion of software and the importance of software development and then presents twelve fundamental principles for software architecture design as the key enabling technology for effective software development. This paper divides design steps into four groups, i.e. analyzing the problem, deciding architecture modeling methods, architecture design process and architecture evaluation. Then it identifies the principles within and across the various steps of software architecture design and explains their roles.

  • PDF

A Study on Software Based Fault-Tolerance Techniques for Flight Control Computer (비행조종컴퓨터 소프트웨어 기반 고장허용 설계 기법 연구)

  • Yoon, Hyung-Sik;Kim, Yeon-Gyun
    • Journal of the Korean Society for Aeronautical & Space Sciences
    • /
    • v.44 no.3
    • /
    • pp.256-265
    • /
    • 2016
  • Software based fault tolerance techniques are designed to allow a system to tolerate software faults in the system. Fault tolerance techniques are divided into two groups : software based fault tolerance techniques and hardware based fault tolerance techniques. We need a proper design method according to characteristics of the system. In this paper, the concepts of software based fault tolerance techniques for Dual Flight Control Computer are described. For software based fault tolerance design, we classified software failure, designed a way for failure detection and the way of recovery. Eventually the effectiveness of software based fault tolerance techniques was verified through the Software Test Environment(STE).

A study of applying test design technique to weaponry embedded software (무기체계 내장형 소프트웨어에 대한 테스트 설계 기법 연구 및 적용 사례)

  • Kim, Sang-Ki;Lee, Hye-Jin;Kim, Dong-Hwan
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2012.06b
    • /
    • pp.83-85
    • /
    • 2012
  • 국방 분야의 무기체계 내장형 소프트웨어(embedded software)는 그 규모와 복잡도가 증가함에 따라 소프트웨어 품질이 매우 중요하게 인식되고 있으며, 고객 또한 소프트웨어 품질 및 신뢰성 시험 활동에 대해 높은 요구사항을 제시하고 있다. 최근 "무기체계 내장형 소프트웨어 획득 및 관리 실무 지침서(방위사업청 지침, 2011.11.30)"가 명문화되었으며, 이 지침서 내에도 소프트웨어 신뢰성 시험을 강조하고 있다. 그러나 업계에서는 소프트웨어 신뢰성 시험에 대한 개발 단계의 테스트 설계 활동이 체계적으로 수행되지 않고 있으며, 테스트 설계 활동에서 테스트 설계 기법을 제대로 활용하고 있지 못하고 있다. 이를 위해 본 논문에서는 테스트 설계 활동과 테스트 설계 기법을 소개한다. TMMi 및 ISTQB 지식체계에서 제시하고 있는 테스트 설계 기법을 기반으로 실제 무기체계 내장형 소프트웨어의 테스트 시 적용하였던 테스트 설계 기법을 소개하고, 테스트케이스를 효과적으로 도출할 수 있는 방법을 제안한다.

An Approach to Support Software Architecture Transformation in Architecture-Based Software Development (아키텍처 기반 소프트웨어 개발에서 소프트웨어 아키텍처 변형을 지원하기 위한 방법)

  • Choi Heeseok;Yeom Keunhyuk
    • Journal of KIISE:Software and Applications
    • /
    • v.32 no.1
    • /
    • pp.10-21
    • /
    • 2005
  • Software architecture is increasingly being viewed as a key design in developing complex software systems, which largely affects the achievement of quality attributes. During the architecture-based software development, therefore, architectural transformation is needed to achieve quality attributes. Due to the variety of design alternatives and the poor predictability of the effects of the transformation, however, it is not easy to apply architectural transformation. Therefore, the method is needed to support architectural transformation through systematically analyzing the effects of applying various design alternatives to the architecture. This paper proposes an approach to support software architecture transformation. Based on architectural design decisions and the constraints on them included in the architecture, our approach defines a decision constraint graph representing the dependencies among architectural design decisions. Through using the decision constraint graph, architectural transformation can be systematically performed by understanding the effects of applying a transformation. While this work supports more understanding of applying architectural transformation, it also helps reconstruct a software architecture to improve the quality of the software.

UML Based Software Design Methodology for Software Project Class (소프트웨어 프로젝트 수업을 위한 UML 기반의 소프트웨어 설계방법)

  • Kung, Sang-Hwan
    • Proceedings of the KAIS Fall Conference
    • /
    • 2008.11a
    • /
    • pp.250-253
    • /
    • 2008
  • 본 논문은 프로젝트 수업의 제약점을 고려하면서 소프트웨어의 요구사항을 분석하고 설계해 가는 절차와 방법에 대하여 설명하고 있다. 프로젝트를 위해 시스템을 정의하고, 정의된 시스템을 분석하여 요구사항을 도출하며, 소프트웨어 아키텍처와 상세설계를 수행하는 단계에 대하여 논의한다. 아울러 설계를 위한 다이어그램을 UML로 통일하여 객체지향 방법과 구조적 방법에 적용해 보고자 한다.

  • PDF

Cognitive Systems Engineering as a New Approach to Designing Software-Based Systems (소프트웨어 기반 시스템을 설계하는 새로운 접근법으로서의 인지시스템공학)

  • Ham, Dong-Han
    • Journal of the Korea Safety Management & Science
    • /
    • v.14 no.3
    • /
    • pp.229-236
    • /
    • 2012
  • 소프트웨어 기반의 시스템 설계과정에서 설계자가 고려해야 하는 요소들이 다양해지면서 시스템 설계가 점점 어려워지고 있다. 다양한 설계 요소들이 존재하지만 사용자의 특성 및 직무, 사용가능한 정보기술의 특성 등이 핵심적인 요소로 간주된다. 또한 정보기술이 발달하면서 인간과 시스템의 상호작용이 점점 인지적인 특징을 지니게 되었다. 따라서 사용성 높고, 효율적이면서 안전한 소프트웨어 기반의 시스템을 개발하기 위해서는 시스템 설계자가 사용자의 인지적인 요구사항 및 그들의 직무를 시스템 설계과정에서 체계적으로 다룰 수 있어야 한다. 그러나 소프트웨어 공학, 시스템 공학 및 인간-컴퓨터 상호작용 등에서의 전통적인 시스템 설계 방법은 이러한 설계자의 설계활동을 효과적으로 지원하는데 한계가 있었다. 그 대안으로 인지시스템공학(cognitive systems engineering; CSE)은 인간중심의 설계철학을 바탕으로 소프트웨어 기반의 복잡한 시스템 설계과정에서 설계자의 활동을 체계적으로 도와줄 수 있는 유용한 개념과 방법을 제공해주고 있다. CSE는 원래 사람이 실시간으로 감시 및 제어해야 하는 복잡한 사회기술적 시스템(예: 원자력발전소 및 공항관제소)의 분석, 설계 및 평가를 위해 태동한 학문이다. 그러나 CSE에서 제공하는 이론적 및 방법론적 프레임워크는 소프트웨어 기반의 시스템을 설계하는 데에도 유용하게 활용할 수 있는 충분한 가능성을 갖고 있다. 이 논문은 CSE의 근간을 이루는 핵심 개념 및 원칙을 고찰하고 소프트웨어 기반 시스템 설계에의 활용가능성 및 그 방안을 논의한다.

Development of the software testbed for designing the electrical power system of the CubeSat Satellite (큐브위성의 전력시스템 설계를 위한 소프트웨어 테스트베드 설계)

  • Lee, Seongjun;Lim, Namgyu;Lee, Sunyeong;Baek, Jinsung;Park, Huimang;Kim, Junseok
    • Proceedings of the KIPE Conference
    • /
    • 2018.07a
    • /
    • pp.470-471
    • /
    • 2018
  • 본 논문에서는 소형 큐브위성의 전력시스템 구성품의 용량 및 위성의 운용로직을 설계할 수 있는 소프트웨어 테스트베드 설계 방법을 제시한다. 기존 초소형 인공위성 시스템 설계를 위한 소프트웨어가 개발되어 상용품으로 판매되고 있으나, 주로 자세제어 시스템의 제어기 설계를 위해 소프트웨어가 사용되고있고, 텍스트기반 복잡한 구조로 되어있어 본 논문의 목적인 전력계 구성품 용량 및 운용로직을 설계하는데 이를 활용하기 어려운 측면이 있었다. 따라서 본 논문에서는 전력시스템의 구성품들을 전력 및 에너지 방정식으로 모델링하여 Matlab/Simulink에서 이를 구현함으로써 가독성을 높여 시스템 설계 및 분석 시간을 줄일 수 있는 소프트웨어 테스트베드 설계방법을 제시한다. 제안된 소프트웨어 테스트베드를 이용한 3리터 사이즈의 소형 큐브위성 시스템의 구성품 용량 및 운용로직 설계 결과를 본 논문에서 제시한다.

  • PDF

Software Architecture Restructuring using Agent on Multi-user Environment (다중 사용자 환경에서의 에이전트를 이용한 소프트웨어 아키텍쳐 재구성)

  • 김상길;안치돈;왕창종
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2000.10a
    • /
    • pp.370-372
    • /
    • 2000
  • 다중 사용자 환경에서 새로운 소프트웨어 개발하기 위해서는 특정 사용자 관점이 아닌 다양한 관점에서의 의견이 최대로 반영된 소프트웨어 아키텍쳐를 설계할 필요가 있다. 그리고 설계 과정에서의 이러한 다양한 관점에서의 의견들을 조정하기 위한 협동 작업을 자동화해 줄 수 있는 메커니즘 또한 필요하다. 이 연구에서는 소프트웨어 아키텍쳐 설계 과정에서 사용자들의 의견을 최대한 반영한 아키텍쳐 설계를 위해 기존의 다중 계층 소프트웨어 아키텍쳐 관리 방법을 사용하고, 이러한 다중 계층 소프트웨어 아키텍쳐의 효율적인 재구성을 위한 자동화 방안으로 에이전트 기법을 도입한다.

  • PDF

Reusable Software Design Guidelines (소프트웨어 재사용과 설계에 관한 고찰)

  • 윤창섭
    • Journal of the military operations research society of Korea
    • /
    • v.15 no.1
    • /
    • pp.1-13
    • /
    • 1989
  • 소프트웨어 위기(software crisis)라는 용어가 소프트웨어 공학분야의 연구보고서에서 자주 언급되고 있는 이유는, 오늘날의 소프트웨어 개발환경에서 소프트웨어의 품질과 생산성의 문제해결이 매우 어렵기 때문이다. 소프트웨어 개발과 관련되는 프로그램의 설계, 프로그램의 명세서, 계발방법론 및 기술과 도구들 중에서 기존의 개발사업에서 이미 사용하였던 요소들을 새로운 개발사업에서 효율적으로 재사용할 수 만 있다면, 품질과 생산성에 관한 위험 부담을 최소화할 수가 있다. 본 연구는 지금까지 연구발표된 연구보고서를 중심으로 소프트웨어 재사용의 대상과 잇점, 재사용에 따른 장애요인들을 소개하였고, 재사용을 목적으로 소프트웨어를 설계할 때에 고려할 몇가지 지침들을 고찰하였다.

  • PDF

Design of CBD Methodology for Weapon System Embedded Software (컴포넌트 기반의 무기체계 임베디드 소프트웨어 개발방법론 설계)

  • Lee, Jong-Lee;Yun, Hui-Byeong
    • Proceedings of the Korean Institute of Intelligent Systems Conference
    • /
    • 2006.11a
    • /
    • pp.301-304
    • /
    • 2006
  • 본 논문은 컴포넌트 기반의 무기체계 임베디드 소프트웨어 개발방법론을 제안한다. 이를 위해 먼저 국방 소프트웨어 개발 관련 규정, 무기체계 임베디드 소프트웨어, 컴포넌트 기반의 개발 방법 그리고 임베디드 소프트웨어 개발방법의 특징을 바탕으로 기존 CBD 방법론을 분석한다. 그런 다음 개발방법론 설계 고려요소를 도출하고, 고려요소를 바탕으로 컴포넌트 기반의 소프트웨어개발(CBSD)과 컴포넌트 개발(CD)에 대해 어떻게 설계를 할 것인가, 산출물간에 어떤 상호작용을 하는지를 설명하는 컴포넌트 기반의 무기체계 임베디드 소프트웨어 표준 개발방법론을 제시한다.

  • PDF