슬라이드 1

Similar documents
<B1D4B0DDBCAD202D20C4DAB5E520B1E2B9DD2E687770>

PowerPoint 프레젠테이션

Microsoft PowerPoint - 7.ppt

구축제안목표 [1/2] v DOORS 를활용하여수집및개발, 분석과정을통해전체시스템사양서도출 v 프로젝트이해관계자간효과적이고실시간적인공유로업무효율증가 v 요구기반 ( 고객기반 ) 의검증계획및산출물작성하여제품의품질향상 v 명세기반의설계, 테스트, 결과서의추적 / 변경 /

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

2013 한국 소프트웨어공학 학술대회(LIG넥스원_이주현)

Microsoft PowerPoint - jfeature장범석서재원박동현.pptm

무인항공기 국제표준 현황 및 테스팅 형상관리 서비스

품질검증분야 Stack 통합 Test 결과보고서 [ The Bug Genie ]

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

Introduction to CTIP

IBM Mobile Quality Assurance 소개

[Brochure] KOR_TunA

PowerPoint 프레젠테이션

소개 는 국내 산업계 IC 전문 인재양성과 기술 보급을 위한 IC 표준화 및 시험인증 전문 교육기관입니다. IC 글로벌 경쟁력 제고를 위한 핵심인재 양성을 목적으로 교육세나 및 자격시험 서비스를 제공합니다. 교육 훈련비용 일부를 지원하는 직업능력개발훈련과정을 운영합니다

서현수

Microsoft PowerPoint _03

슬라이드 1

PowerPoint 프레젠테이션

슬라이드 1

공개 SW 기술지원센터

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

Software Engineering

Software testing

Microsoft PowerPoint - B1 [호환 모드]

<C3D6C0E7C3B528BAB8B5B5C0DAB7E1292D322E687770>

(Microsoft PowerPoint \261\350\301\276\277\370 [\310\243\310\257 \270\360\265\345])

Software Testing

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

PowerPoint 프레젠테이션

슬라이드 1

Æí¶÷4-¼Ö·ç¼Çc03ÖÁ¾š

<30312DB8F1C2F72E687770>

13 Who am I? R&D, Product Development Manager / Smart Worker Visualization SW SW KAIST Software Engineering Computer Engineering 3

2017 년 6 월한국소프트웨어감정평가학회논문지제 13 권제 1 호 Abstract

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형

<49534F C0CEC1F520BBE7C8C4BDC9BBE720C4C1BCB3C6C320B9D D20BDC3BDBAC5DB20B0EDB5B5C8AD20C1A6BEC8BFE4C3BBBCAD2E687770>

No Title

PowerPoint 프레젠테이션

Microsoft PowerPoint - PLM2012_D3.ppt [호환 모드]

이 드리는 혜택 완벽 을 위한 발환경 : Team Foundation Server 200 & CAL 제공 최저의 비용으로 구현을 위해 Visual Studio Team Foundation Server 200 서버 라이센스와 CAL이 에 포함되어 있습니다 을 모든 팀원이

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

PowerPoint 프레젠테이션


PowerPoint Presentation

consulting

슬라이드 1

17장 클래스와 메소드

Microsoft PowerPoint - 3조-최종발표.pptx

Microsoft PowerPoint - 리스크기반 테스팅 전략_STA_IBM_ _v1.0.ppt


- 2 -

Microsoft PowerPoint - chap06-2pointer.ppt

윈도우시스템프로그래밍

Microsoft PowerPoint - additional01.ppt [호환 모드]

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

금오공대 컴퓨터공학전공 강의자료

Microsoft Word - [2017SMA][T8]OOPT_Stage_2040 ver2.docx

슬라이드 1

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

열거형 교차형 전개형 상승형 외주형 회전형 도해패턴 계층형 구분형 확산형 합류형 대비형 상관형 (C) 2010, BENESO All Rights Reserved 2


(b) 미분기 (c) 적분기 그림 6.1. 연산증폭기연산응용회로

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

Microsoft Word - KSR2016S150

Microsoft PowerPoint - 발표자료.pptx

제안요청서 사업명 주관기관 야전운용제원통합분석체계 (LAMBDA) 유지보수 국방기술품질원 담당 기술 분석팀 팀장백순흠 담당원박재훈 TEL: TEL: FAX: pjh347

Microsoft PowerPoint - ESE PLM 조형식.ppt [호환 모드]

<4D F736F F F696E74202D205B31C0E55D20BCD2C7C1C6AEBFFEBEEEBFCD20BCD2C7C1C6AEBFFEBEEEB0F8C7D02E BC8A3C8AF20B8F0B5E55D>

IBM blue-and-white template


2 PX-8000과 RM-8000/LM-8000등의 관련 제품은 시스템의 간편한 설치와 쉬운 운영에 대한 고급 기술을 제공합니다. 또한 뛰어난 확장성으로 사용자가 요구하는 시스템을 손쉽게 구현할 수 있습니다. 메인컨트롤러인 PX-8000의 BGM입력소스를 8개의 로컬지

화판_미용성형시술 정보집.0305

<4D F736F F F696E74202D205B37C0E55D20B0CBC1F520B9D720C8AEC0CE2E BC8A3C8AF20B8F0B5E55D>

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

JVM 메모리구조

4S 1차년도 평가 발표자료

범정부서비스참조모형 2.0 (Service Reference Model 2.0)

ICT À¶ÇÕÃÖÁ¾

제안발표Template

<4D F736F F F696E74202D2032C0CF5F20B1E8BFB5BDC55FC7D1B1B95357C1F8C8EFBFF85F53495F2020C6AEB7A2422D362E707074>

- 2 -

Microsoft PowerPoint - VHDL08.ppt [호환 모드]

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O


ETL_project_best_practice1.ppt

C# Programming Guide - Types

Microsoft PowerPoint - e pptx

Microsoft PowerPoint - chap01-C언어개요.pptx

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

Microsoft PowerPoint - 30.ppt [호환 모드]

JAVA PROGRAMMING 실습 08.다형성

1 SW

SW

I (34 ) 1. (10 ) 1-1. (2 ) 1-2. (1 ) 1-3. (2 ) 1-4. (2 ) 1-5. (1 ) 1-6. (2 ) 2. (8 ) 2-1. (3 ) 2-2. (5 ) 3. (3 ) 3-1. (1 ) 3-2. (2 ) 4. (6 ) 4-1. (2 )

Microsoft Word - KSR2015A100

협업을위한소프트웨어공학 ( 부제 : 다같이코딩하는데한사람이만든것처럼만들기 ) 1. 개요 프로그래밍은매우수작업에의존적인일이다. 산업혁명이발생하기전직물제조와같이도구의도움은있어도사람의손이많이가는그런작업이다. 백지장도맞들면낫다 라는말이있다. 쉬운일이라도협력하여하면훨씬쉽다는말인

Transcription:

무기체계 SW 신뢰성향상을위한방안 MDS 테크놀로지 우경일팀장

CONTENTS Ⅰ 무기체계 SW신뢰성시험방안 Ⅱ 무기체계 SW 개발현실과어려움 Ⅲ SW 개발환경개선방안 1~7 Ⅳ SW 신뢰성시험설정방안 Ⅴ 결론

무기체계 SW 신뢰성시험방안 A. 요구사항관리 H. 성능테스트 요구사항을저장 / 관리 / 추적 / 분석관리 신뢰성시험평가기준분석및설정 B. 설계 소스코드, 모델의분석 / 설계등시스템의아키텍처설계및관리 요구사항및시험평가기준정의 C. 방위사업청코딩룰 시스템아키텍처설계 소프트웨어설계 형상 / 변경통합관리시스템 소프트웨어모듈테스트 인수테스트 (Acceptance) 시스템통합테스트 F. 코드실행률테스트 인수테스트단계에서활용되며, 어플리케이션이나 DB, WAS 등의 Load 테스트와성능테스트수행 G. 기능테스트 요구사항기반으로 S/W 가개발되었는지를평가하는블랙박스테스트 C, C++ 언어로작성된코드의정적분석과메트릭을제공하여개발표준룰체크 소프트웨어개발 소프트웨어단위테스트 S/W 통합시험이나체계시험단계에서 S/W 전체커버리지를감지 D. 실행시간오류 E. 단위시험 SW 실행시발생할수있는 Buffer Overrun 이나 Memory 누수와같은오류를전문적으로탐지 단위시험단계에서코드및요구명세시험지원및모듈의커버리지를측정 3

현무기체계 SW 신뢰성확보를위한분류 방위사업청코딩규칙준수 (QAC/QAC++) 실행시간오류제거 (CodeSonar) 단위 / 통합 / 체계시험과이를통한코드실행률확보 (VectorCAST) 신뢰성기준설정 (Medini Analyze) 4

현무기체계 SW 신뢰성확보를위한세부내용 코딩규칙검증 실행시간오류검증 코드실행률검증 신뢰성기준설정 방위사업청코딩규칙검증 SW 실행시발생가능한결함검출 단위 / 통합시험수행및코드실행률목표치확보 무기체계위험도분석 (HARA) 및국방무결성등급정의 코딩규칙및품질 Metric 을검사하여 SW 의품질측정및개선 SW 실행시간오류를제거하여잠재적결함을최소화하고강건성을향상 요구사항에명시된기능 / 비기능에대한 SW 완성도를검사 신뢰성확보에위배되는위험원파악무기체계위험등급설정및시험평가기준을수립 5

현무기체계 SW 개발환경의현실 (1/2) 부족한프로젝트수행기간 전체프로젝트수행기간에서 1~2 개월이지난후개발요청 제한적인프로젝트비용 장비, 인력및프로젝트수행비용 ( 회식비및 License 등 ) 부족 혼선이야기되는여러개발도구들 (Complier 및 Testing Tool 등 ) 이론과다른현실 요구사항분석, 설계경험부족결함이많지만기능을 80% 구현한개발자 vs. 신뢰성을확보하며기능을 30% 구현한개발자 6

현무기체계 SW 개발환경의현실 (2/2) 부족한개발시간 개발시간 = 프로그래밍시간 + 부수적인업무를위한시간 ( 지속적인회의, 신뢰성시험수행및각종산출물작성등 ) 부족한개발시간으로인한야근및특근 7

8

해결방안 1 CI 환경구축 Requirement DB (DOORS or Polarion) IBM & Polarion (ALM) 형상항목 1. Coding Rule Check QAC 변경사항 commit SVN Repository 2. S/W Metrics 3. Unit Testing 4. S/W Integration 5. Code Coverage CodeSonar 개발자 & Tester Electric Commander Jenkins, ANTS, Maven, etc. Dash Board 6. Document VectorCAST Web E-mail Monitor & Manager < 분석결과화면 > 9

해결방안 2 ALM 환경구축 시스템엔지니어링영역별지원도구간통합, 문서자동화템플릿생성 / 출력기능, 업무환경 (ex. PLM 등 ) 과의연동을통해조직의시스템엔지니어링역량강화 SW 설계 요구사항추적 SW 신뢰성시험 QAC CodeSonar VectorCAST 테스트결과추적 테스트수행 Continuous Integration 요구사항간추적성관리 Source Code 빌드 / 배포관리 시스템요구사항과 SW 산출물간양방향추적 ALM HW, SW 간통합형상 / 변경관리 PLM 10

해결방안 2 ALM 환경구축 시스템엔지니어링영역별지원도구간통합, 문서자동화템플릿생성 / 출력기능, 업무환경 (ex. PLM 등 ) 과의연동을통해조직의시스템엔지니어링역량강화 DOORS 템플릿 (22 종 ) 요구사항문서 설계문서 시험문서 체계규격서 (SSS) 소프트웨어요구사항명세서 (SRS) 하드웨어요구사항명세서 (HRS) 주요품목개발규격서 (PIDS/CIDS) 인터페이스요구사항명세서 (IRS) 체계 / 부체계설계명세서 (SSDD) 소프트웨어개발계획서 (SDP) 소프트웨어설계명세서 (SDD) 데이터베이스설계명세서 (DBDD) 하드웨어설계명세서 (HDD) 인터페이스설계명세서 (IDD) 인터페이스통제문서 (ICD) 체계 / 부체계시험계획서 (STP) 통합시험절차서 체계 / 부체계성능시험절차서 (PQTP) 개발시험평가계획서 소프트웨어시험계획서 (STP) 소프트웨어시험절차서 (STD) 하드웨어시험절차서 (HTD) 소프트웨어시험결과보고서 (STR) 기술문서템플릿 (RPE & HWP RG) Import 표준템플릿자동입출력기능구현 Export 요구사항관리 (DOORS) 체계요구사양 1 요구사양 2 소프트웨어요구사양 1 요구사양 2 요구사양 3 시스템요구사항 구성품요구사항 시스템설계, 상호운용성 (System Architect) SW 설계 (Rhapsody) 아키텍처모델 (MND-AF 기반 ) 체계상호운용성요소분석 Source Generation SW Source 관리 (Synergy) 변경관리 PLM (Product Life Cycle) 요구분석설계구현통합시험 11

해결방안 3 신뢰성시험의영향요소파악 소스수정 테스트계획및전략수립 요구사항분석및테스트케이스작성 테스트수행 테스트결과분석및전달 테스트종료 방위사업청코딩규칙의준수여부 품질매트릭 - Cyclomatic Complexity ( 함수내부분기문의개수 ) - Deepest Level of Nesting (if 문의중첩도 ) 동적시험 정적시험 테스트엔지니어의숙련도 UI 가있는 SW(MFC 사용 ) 절차서의커버리지정도 절차서작성에많은시간소요 Coverage 의종류 (Statement, Branch, MC/DC) 12

해결방안 4 품질메트릭 (Metrics) 관리 품질메트릭 (Metrics) 소프트웨어의복잡도를측정하는지표 복잡도측정을통해 SW 현재상태파악 자주사용되는품질메트릭 Cyclomatic Complexity 함수내부분기문의개수계산 Number of Executable Lines 함수내부의실행코드라인수 Deepest Level of Nesting if 문의중첩도계산 품질메트릭사용이유 품질메트릭의결과값을통해검증한 SW 의복잡도측정 개발자에게 SW 수정방향을제시 13

해결방안 4 품질메트릭 (Metrics) 장점 품질메트릭 (Metrics) 장점 코드에대한정량적인품질측정 여러품질메트릭값을확인 다양한측면에서코드의품질측정 복잡도측정을통해수정방향제시 Cyclomatic Complexity, Deepest Level of Nesting, Number of Executable Lines 설정한최대값보다클경우 : 복잡도가높은코드 리펙토링이필요설정한최소값보다작을경우 : 복잡도낮은코드 모듈화로통합필요논리연산자와매개변수의개수메트릭테스트단계에서 Test Case 개수를감소 시간단축 ( 예시 ) 16 개의논리연산자와 7 개의매개변수가선언된함수의테스트케이스 371 개 7 개의논리연산자와 4 개의매개변수로줄여 64 개의테스트케이스로감소 16

해결방안 5 모듈화기반신뢰성시험영역구분 모듈화가잘되어있는경우 ( 요구사항과파일별, 클래스별 mapping 가능 ) 요구사항분석 임무 ( 기능 ) 중요도, 인명피해정도, 사용빈도고려각요구사항에상, 중, 하의레벨부여 Coverage 선택 개발된소스코드의모듈화정도 D Lv. : MC/DC + Statement C Lv. : Branch + Statement B Lv. : Statement 모듈화가잘되어있지않은경우 ( 요구사항과파일별, 클래스별 mapping 불가능 ) CSCI 단위로분석 임무 ( 기능 ) 중요도, 인명피해정도, 사용빈도를고려 각 CSCI 에상, 중, 하의레벨을부여 하부의 CSC, CSU 는상위 CSCI 의레벨에따라결정 17

해결방안 6 효과적인 Test Case 생성 Analysis of requirements 요구사항명세분석을통해테스트케이스를생성 Analysis of boundary values 테스트케이스생성방법 Generation and analysis of equivalence classes 여러가능한입력값에대해동일한결과를갖는값들을동치클래스로구분하고, 각클래스별로입력값을선택하여테스트케이스를생성 Error guessing 모듈의입력파라미터로극한값이나경계값을이용하여테스트케이스를생성 테스트엔지니어의경험을기반으로어떤입력에대해서발생할수있는오류를예측하여테스트케이스를생성 18

해결방안 7 효과적인테스팅도구의사용 비교항목 VectorCAST ( 테스팅도구 ) 디버깅 / 프로파일링도구 PC 기반시험 - 원본코드에테스트를위한프로젝트생성및코드삽입과정은유사 내장형시스템기반시험 분석가능코드실행률타입 요구사항과의추적성확보 삽입코드 소스코드실행률 - 파일시스템또는 Memory Dump 방식 - Serial Port 로실시간데이터전송 - Statement Coverage ( 구문실행률 ) - Branch Coverage ( 분기실행률 ) - MC/DC - Function Coverage ( 함수실행률 ) - Call Coverage ( 호출실행률 ) - Excel, DOORS, Polarion 등요구사항관리도구들과테스트케이스 / 테스트시나리오간추적성확보 - 전처리후코드삽입 ( 코드수정불필요 ) - 실행구문라인별코드삽입 - 원본소스에서총실행가능구문대비실행된구문비율로코드실행률측정 신뢰성 / 안전성관련국제표준준수 우주 / 항공 / 국방 / 철도 / 자동차 / 의료등사용 - 하드웨어장치연동 - Block Coverage ( 블록실행률, 국제기준에부적합 ) Statement Coverage Block Coverage 구문 (Statement) 의경우기본 Key word 를제외한구문에대해사용자가수동으로탐침코드삽입 - Branch Coverage - MC/DC 미지원 - 요구사항과의추적성확보기능부재 테스팅도구가아닌디버깅목적 - 전처리하지않고코드삽입되어 Define 매크로등추가적인코드수정 / 추가필요 코드실행률에대한결과보장 (Guarantee) 불가 - Entry Point 및실행 Path 시작 / 끝에코드삽입 - Test Point 구문의실행유무비율로코드실행률측정 수출기준, 국제표준에준수불가 개발자간참고용자료로만활용 ( 신뢰성 / 안전성분야코드실행률측정결과적용불가 ) 19

20

무기체계신뢰성기준설정 (2013 지침서 ) SW 신뢰성시험평가 * 시험평가항목 : 코드실행률 (Code Coverage) 소프트웨어동적시험계획수립절차 가. 연구개발주관기관은소프트웨어개발계획서에동적시험계획을포함하여작성 1) 시험대상항목및코드실행률목표값설정방법 (1) 관련국제기준, 규격및문헌을참고하여개발대상소프트웨어 (CSCI, CSC, CSU 등 ) 의장애발생가능성, 장애로인한영향도등을분석하고위험 (Risk) 요소도출 MIL-STD-882E, DO-178B, IEC 61508, ISO 26262 (2) 위험요소평가후, 일정수준이상의위험을가진소프트웨어항목을동적시험대상으로결정하고위험수준별로목표값설정 2) 동적시험을고려한소프트웨어설계, 구현및시험방안 ( 복잡성, 시험용이성 (Testability), 유지보수성등 ) 3) 동적시험시기및환경구축방안 ( 시험도구선정등 ) 나. 연구개발주관기관은소프트웨어시험계획서및소프트웨어시험절차서에소프트웨어동적시험계획및절차를작성한다. 코드실행률목표값설정을위한상세수행절차및기준을제시 현무기체계소프트웨어신뢰성시험평가기준의상세화및개선안소개 * 방위사업청, 무기체계내장형소프트웨어획득및관리실무지침서 2013 21

무기체계신뢰성기준설정방안 ( 案 ) 시스템신뢰성분석 FME(C)A 운용요구기술서 체계정의 초안아키텍처 운용기능정의 고장정의 System HW SW 재난위험분석및리스크평가 전투시나리오분석 고장정의 FTA 발생도 (E) 심각도 (S)/ 제어가능성 (C) 위험한사건정의 SW 신뢰성기준설정작업흐름 체계치명도등급도출 A B C D 시험적용방법 A B C D 1 정적시험 ++ ++ ++ ++ 2a Statement coverage + ++ ++ ++ 2b Branch coverage + + ++ ++ 2c MC/DC (Modified Condition & Decision Coverage) O + + ++ Copyright(c)2013 by Kyungil, Woo / MDS Technology. All contents cannot be copied without permission. Copyright(c)2013 이곳의모든저작권은 MDS 테크놀로지우경일에게있습니다. 승인없는무단배포를금합니다. 22

결론 SW 신뢰성을높이기위한방안 개발단계에서코딩규칙을준수하여개발정적시험비용과시간절약 검증된정적 / 동적시험도구및 ALM 을적용하여개발생산성향상 신뢰성시험수행을위한적합한도구사용 방사청코딩규칙준수 품질메트릭사용 Cyclomatic Complexity Number of Executable Lines Deepest Level of Nesting Model 과 Controller 는단위테스트, View 는기능테스트가능 재사용성, 유지보수성, Testability 상승 MVC 모델적용 코드실행률확보 Code 의옳고그름, Error 유 / 무확인 부정확한또는불충분한기능구현방지 Defect 의존재가능성을제거 Test 에대한충분성 27

Thank you MDS 테크놀로지 시스템엔지니어링솔루션 1 팀우경일팀장 031-627-3140 kyungil@mdstec.com www.mdstec.com 본사 463-400 경기도성남시분당구대왕판교로 644 번길 49 한컴타워 3 층 031-627-3000 연구소 463-400 경기도성남시분당구판교로 288 번길 15 판교 7 벤처밸리 2 단지 1 동 9 층 031-600-5000