소프트웨어 공학

  • 소프트웨어 공학

    형상 관리 개요

    안녕하십니까? 씨앤텍시스템즈 유가현 선임연구원입니다. 이번 포스팅 주제는 "형상 관리 개요"입니다. 우선, 용어 정리 먼저 진행하겠습니다. 형상 관리(Configuration Management, CM) 라는 용어는 다소 생소할 수 있습니다. 형상 관리란, 형상 항목(Configuration Item)의 베이스라인(Baseline)을 정하고 변경을 철저히 통제하는 것을 뜻합니다. 여기서 형상 항목이란 변경 관리가 필요한 것들을 말하며, 예를 들어 사업수행계획서, 요구사항정의서, 설계 산출물(화면정의서, 테이블정의서 등), 매뉴얼, 소스 코드 등 항목들이 변경됨에 따라 프로젝트 또는 제품에 영향을 끼치는 것들 형상 항목으로 정의하고 형상 관리합니다. 따라서 형상 관리를 쉽게 "버전 관리"라고 생각하면 좀 ..

  • 소프트웨어 공학

    WBS 소개

    안녕하십니까? 씨앤텍시스템즈 유가현 선임연구원입니다. 이번 포스팅 주제는 "WBS 소개"입니다. WBS는 Work Breakdown Structure의 약자로, 직역하면 "작업 분할 구조도"라고 할 수 있습니다. WBS라는 용어를 몰라도, 일상생활에서도 WBS 형태의 작업을 종종 목격할 수 있습니다. 프로젝트의 목표를 달성하기 위해 필요한 활동과 업무를 세분화하고, 업무 담당자과 일정을 수립하는 작업이 바로 WBS입니다. 프로젝트 특성에 따라 프로젝트 인도물과 전체 업무 범위를 관리가 가능한(Manageable) 수준까지 최소 업무 단위로 Breakdown 합니다. 이 때, 프로젝트가 수행해야하는 모든 일이 포함되어야합니다. 이를 통해 프로젝트 중 해야할 일을 빠뜨림이 없도록 방지하고 하지 말아야 할 일..

  • 소프트웨어 공학

    소프트웨어 제품 품질 지표 소개

    안녕하십니까? 씨앤텍시스템즈 유가현 선임연구원입니다. 이번 포스팅 주제는 "소프트웨어 제품 품질 지표 소개"입니다. 먼저 품질이란, "사용자의 요구와 부합되는 정도"를 뜻합니다. ​ 하드웨어는 눈에 보이기 때문에 사용자의 요구사항을 규격서에 정확하게 기술이 가능하지만, 소프트웨어는 눈에 보이지 않는 특성 (invisible)을 가지고 있어서 사용자의 요구사항을 규격서에 정확하게 기술하기 어렵습니다. 그렇기 때문에 제 3자로부터 공인된 품질 인증을 획득하여 품질에 대한 신뢰성을 확보합니다. ​ 보는 관점에 따라 품질 목표도 달라질 수 있습니다. ㅇ 프로젝트 관리자 : 계획된 비용과 기간에 맞춰야 함 ㅇ 개발자 : 개발과 수정이 쉬워야 함 ㅇ 유지보수 담당자 : 가독성이 높고 쉽게 이해할 수 있어야 함 ㅇ ..

  • 소프트웨어 공학

    요구사항 정의 및 분류

    안녕하십니까? 씨앤텍시스템즈 유가현 선임연구원입니다. 이번 포스팅 주제는 "요구사항 정의와 필요성"입니다. 소프트웨어 개발의 궁극적인 목적은 개발된 소프트웨어를 사용하는 고객이 만족하는 것이며, 고객 만족을 위해서는 원하는 품질의 제품을 정해진 개발 기간과 주어진 예산 범위 안에서 개발을 해야합니다. 따라서, 계획 단계 때 사용자의 요구사항을 정확히 파악하고 분석하는 작업이 선행되어야 소프트웨어 개발의 궁극적인 목표 달성을 할 수 있습니다. IEEE 610.12-1990 - IEEE Standard Glossary of Software Engineering Terminology에서 요구사항이란, 문제를 해결하거나 목표를 달성하기 위해 이해관계자가 필요로 하는 조건 또는 능력으로 정의하고 있습니다. 요구사..

  • 소프트웨어 공학

    소프트웨어 개발 생명주기 모델 소개

    안녕하십니까? 씨앤텍시스템즈 유가현 선임연구원입니다. 이번 포스팅 주제는 "소프트웨어 개발 생명주기 모델 소개"입니다. 소프트웨어 개발 생명주기 모델 (Software Development Life Cycle, SDLC) 소프트웨어 개발 생명주기란, 소프트웨어를 어떻게 개발할 것인가에 대한 추상적인 표현으로 "순차적" 또는 "병렬적" 단계로 구성되어있습니다. 소프트웨어 개발 생명주기는 "개발 모델" 또는 "소프트웨어 공학 패러다임"이라고 부르기도 합니다. 소프트웨어 개발 생명주기 모델의 종류는 다음과 같습니다 주먹구구식 개발 모델 (Build-Fix Model) 폭포수 모델 (Waterfall Model) 원형 모델 (Prototyping Model) 나선형 모델 (Spiral Model) 브이 모델 (..

  • 소프트웨어 공학

    소프트웨어 공학 소개

    안녕하십니까? 씨앤텍시스템즈 유가현 선임연구원입니다. 이번 포스팅 주제는 "소프트웨어 공학 소개"입니다. 소프트웨어 공학이 무엇인지, 왜 소프트웨어 공학이 필요한지 소개해드리겠습니다. 먼저 소프트웨어 공학의 정의를 먼저 살펴보겠습니다. Software Engineering is the systematic application of engineering approaches to the development of software. (출처 : 위키백과) 위 문장을 그대로 직역하면, "소프트웨어 공학은 소프트웨어 개발에 엔지니어링 접근 방식을 체계적으로 적용하는 것"입니다. 소프트웨어 공학의 정의를 살펴보면, 왜 소프트웨어 개발에 엔지니어링 접근 방식이 필요한지 의문이 생길 수 있습니다. 먼저, 소프트웨어는 눈..