버전 관리는 소프트웨어 프로세스 중 만들어진 서로 다른 버전의 형상 객체Configuration Object를 관리하기 위한 절차와 도구를 합친 개념이다.
#softwareengineering
25개 글
- 소프트웨어, 공학, 그리고 소프트웨어 공학 - DevOps - 소프트웨어의 표준 - Requirements Development - Use Case Modeling - Software Process - Capability Maturity Model...
만들고자 하는 소프트웨어의 규모가 커질수록 제일 어려운 것은 바로 고객에게 신뢰를 주는 일인데, 이를 이해하기 위해 잠시 고객의 입장에서 생각해보자.
CMMI는 미국 카네기 멜론 대학의 부설 연구개발 센터인 소프트웨어 공학 연구소Software Engineering Institute, SEI에서 개발한 프로세스 표준 모델이다.
소프트웨어 형상 관리Software Configuration Management, SCM는 소프트웨어 프로세스 전반에 걸쳐 적용되는 우산 활동umbrella activity이다.
소프트웨어 공학에서 지속적 배포가 어떤 의미를 가지는지 이해하기 위해서는 지속적 배포가 없었던 시절부터 지속적 배포의 등장, 그리고 그 이후의 변화를 알 필요가 있다.
CPM(Critical Path Method)는 프로젝트에 소요되는 최소 시간을 추산하기 위해 사용되는 방법이며 스케줄 모델의 논리적 네트워크에 존재하는 유연성(여유분)을 결정하는 방법이기도 하다.
소프트웨어 기업 안에서도 소프트웨어를 만드는 것은 바로 개발팀Development Team, 즉 Dev다.
기능점수function point란, 사용자 관점에서 측정된 소프트웨어 기능의 양으로서, 사용자에게 제공되는 소프트웨어 기능의 규모를 측정하는 단위다.
측정지표Metric란, 시스템 컴포넌트, 프로세스가 특정 속성을 보유한 정도를 나타내는 정량적인 측정변수다.
PERT(Program Evaluation and Review Technique)는 프로젝트를 완료하기 위한 업무들을 분석하는 방법 중 하나다.
모니터링이란 시스템, 프로세스, 활동의 상태를 결정하는 것이다.
프로젝트 계획Project Planning은 프로젝트에서 발생하는 모든 일을 정의하는 계획을 수립하고 유지하기 위한 프로세스 영역이다.
프로젝트 진척율이라는 것은 말그대로 프로젝트가 어디까지 이루어졌는지를 수치로 나타낸 것인데, 이 진척율이라는 수치는 측정 방식이 다양해서 실제 진척율이 얼마인지에 대한 논쟁이 있을 수 있다.
소프트웨어 공학에서 요구사항은 니즈와 그것에 대한 조건 및 제약사항을 표현한 문장으로, 시스템이 사용자에게 무엇을 제공해야 하는지를 정의한다.
요구사항 관리는 목적 제품과 구성요소들의 요구사항이 프로젝트의 계획과 제품에 맞게 유지되도록 관리하기 위한 CMMI의 프로세스 영역이다.
카네기 멜론 대학의 소프트웨어 엔지니어링 연구소Software Engineering Institute, SEI에서 소프트웨어 엔지니어링 프로그램을 창안한 왓츠 험프리Watts Humphrey는 다음과 같은 말을 남겼다.
소프트웨어의 품질이 만족할 만한 수준이라는 확실한 증거를 얻기 위해서는 무엇이 필요할까? 소프트웨어 제품의 품질과 개발 프로세스의 품질을 연결하는 것도, 소프트웨어의 품질을 평가하기 위한 여러 지표도 그 질문에 대한 답을 얻기 위한 노력의 산물이다.
SP인증은 소프트웨어를 개발하거나 관리하는 기업 및 조직의 SW 프로세스 품질역량 수준을 심사하여 등급을 부여하는 제도다.
유스케이스에는 여러가지 정의가 존재하지만, 여기서는 크게 세가지만 살펴보자.
수많은 인력이 필요한 프로젝트는 매우 거대하고 프로젝트가 구현하고자 하는 기능을 가진 소프트웨어를 실제로 구현하고 소비자에게 전하기까지 굉장히 많은 업무가 필요하다.
일반적인 사람들은 개발자라는 단어를 들었을 때 보통 소프트웨어 개발자를 떠올린다.
소프트웨어의 생명 주기는 소프트웨어 제품을 개발하고, 운영하고, 유지보수하고, 최종적으로 폐기하는 전체 과정에서 수행되는 활동들의 순서를 기술한 것이다.
테스트란, 결함을 발견할 의도로 프로그램이나 시스템을 실행시키는 것 혹은 테스트 대상의 특성을 발견하고 평가하기 위해 수행되는 일련의 활동을 가리킨다.
소프트웨어마다 사용하는 도구가 다를 수 있고 개발 환경도 다를 텐데, 그렇다면 소프트웨어의 표준standard에는 도대체 무엇이 있는 것일까? 사실 소프트웨어의 표준은 곧 품질 모델Quality Model이라고 봐도 좋을 만큼, 소프트웨어의 품질에 초점을 맞추고 있다.