본문 바로가기

SW공학20

[SW공학] CMMi: 기존 CMM을 통합한 조직 성숙도 평가모델 조직 성숙도 평가 모델인 CMMi과 해당 모델의 성숙도 단계에 대해 알아보겠습니다. [ Contents ] 1. CMMi (Capability Maturity Model integration) 여러 개로 나누어져 있던 CMM을 통합한 조직 성숙도 평가 모델 SEI(Software Engineering Institute, 소프트웨어 공학 연구소)에서 만든 통합 평가모델입니다. 시스템 공학과 소프트웨어 공학의 기능적 통합에 중점을 두고, ISO 15504(SPICE) 표준과 호환성을 갖도록 통합했습니다. 2. 성숙도 단계 0단계 (not performed): 실행 안 됨 1단계 (performed): 실행됨 2단계 (managed): 문서화된 계획 3단계 (defined): 표준 프로세스, 소프트웨어 공학 .. 2023. 4. 27.
[SW공학] ISO/IEC 9126 품질 특성: 신뢰성, 사용성, 이식성, 기능성, 유지보수성, 효율성 ISO/IEC에서 정의한 소프트웨어 품질 특성에 대해서 알아봅니다. [ Contents ] 1. ISO/IEC 9126 품질 특성 소프트웨어의 품질 특성과 평가요소를 정의한 국제 표준 ISO는 국제 표준화 기구이며, IEC는 국제 전기기술협회입니다. ISO/IEC 9126은 소프트웨어의 품질 특성을 정의한 표준으로, 현재는 폐기되었습니다. (ISO/IEC 25000 SQuaRE로 통합됨) 하지만 여전히 국내에서는 사용되고 있는 품질 평가기준입니다. 2. 품질 특성 요소 1) 신뢰성 (Reliability) 규정 조건에서 규정된 성능을 보장, 사용자 오류 방지 2) 사용성 (Usability) 사용자가 쉽게 이해하고 학습하여 사용 가능 3) 이식성 (Portability) 다양한 환경에서 사용 가능 4) .. 2023. 4. 27.
[SW공학] 일정계획: 작업분해(WBS), CPM/PERT, 간트 차트 소프트웨어 공학에서 일정계획을 할 때 작업분해(WBS), CPM/PERT 네트워크 차트, 간트 차트를 사용합니다. 이에 대해서 알아보겠습니다. [ Contents ] 1. 일정계획 개발모형(SDLC) => 작업 분해(WBS) => CPM/PERT => 간트 차트(Gantt Chart) 2. 작업 분해 (WBS, Work Break-dwon Structure) 프로젝트에 필요한 활동과 업무를 세분화하는 작업 프로젝트의 모든 작업을 찾아내기 위해, 목표를 작은 단위로 세분화하는 작업입니다. 각 단위별 필요한 관리와 비용을 산정합니다. 3. CPM/PERT (Critical Path Method, Promgram Evaluation and Review Technique) 각 작업별 순서와 소요시간을 나타낸 프.. 2023. 4. 27.
[SW공학] 비용 산정 방법: 델파이, LOC, COCOMO모델, 기능 점수 소프트웨어 공학에서 비용을 산정하는 방법에는 델파이, LOC, COCOMO모델, 기능 점수가 있습니다. 이러한 방법의 특징과 산정방식에 대해서 알아보겠습니다. [ Contents ] 1. 델파이 (Delphi) 전문가 패널을 구성하여 고문을 받는 방식입니다. 각 패널들은 서로를 알지 못하는 익명성이 유지되어야 합니다. 조사자는 패널들의 의견을 취합하고, 다시 패널들에게 전달합니다. 패널들은 취합된 의견을 보며, 수정한 자신의 의견을 다시 전달합니다. 이런 식으로 반복하여 비용을 산정하는 방식입니다. 소프트웨어 공학 외에도 행정학, 정책학 등 다양한 분야에서 사용됩니다. '델파이'라는 명칭은 델포이(delphoe) 신전에서 나왔으며, 마치 신전의 신탁을 연상케 하는 방식입니다. 2. LOC (Lines O.. 2023. 4. 27.
[SW공학] 익스트림 프로그래밍(XP, eXtreme Programming) - 애자일(Agile) 기법 애자일 기법으로 유명한 익스트림 프로그래밍 개발기법에 대해서 알아보겠습니다. [ Contents ] 1. 익스트림 프로그래밍(XP, eXtreme Programming) 고객의 참여를 극한(extreme)까지 유도하는 소프트웨어 개발기법 흔히 '에자일(Agile)'기법이라고 불리며, 사용자의 요구변화에도 유연하고 신속하게 대응할 수 있는 개발방식입니다. 작은 작업단위로 진행하며, 수시로 프로토타입을 만들어 고객에게 피드백을 받습니다. 이러한 개선을 반복하며 점진적으로 개발을 완성해갑니다. 나선형 모델과 유사한 점이 많으나, 차이점은 '고객의 참여 극대'와 '개발 경량화 및 편의'입니다. 개발자들은 문서화 작업에 익숙하지 않으며, 형식적인 문서작업보다는 코드 한 줄을 더 쓰려는 경향이 있습니다. 이러한 개.. 2023. 4. 27.
[SW공학] V-모형의 개념과 프로세스 V모형에 대해 알아보고, 그 프로세스를 살펴봅니다. [ Contents ] 1. V-모형 개발과 검증 작업 사이의 관계를 명백히 드러낸 폭포수 모델의 확장 형태 폭포수 모델에서의 분석과 설계 단계는 왼편에, 테스트와 검증은 오른편에 두어 명확히 관계를 표시한 모델입니다. 모든 단계에서 테스트와 검증이 있어 오류를 줄일 수 있으므로 신뢰성이 필요한 분야에 적합한 개발 방식입니다. 2023.04.26 - [CS] - [SW공학] 폭포수 모델(Waterfall)의 개념과 장단점 [SW공학] 폭포수 모델(Waterfall)의 개념과 장단점 폭포수 모델은 [요구사항 정의 - 시스템 & 소프트웨어 설계 - 구현 및 단위테스트 - 통합 및 시스템 테스트 - 운용 & 유지보수]의 과정을 거쳐서 개발하는 프로세스입니다... 2023. 4. 26.
[SW공학] 나선형 모델(Spiral Model)의 특징과 프로세스 워터폴 방식과 프로토타이핑 방식의 장점을 취한 나선형 모델에 대해서 알아보겠습니다. [ Contents ] 1. 나선형 모델 (Spiral Model) 위험을 최소화하며 점진적으로 완성해가는 개발 프로세스 나선형 모델은 '폭포수 모델(waterfall)'의 체계적인 단계와 '프로토타이핑 모델(Prototyping)'의 반복 개선 특성을 수용한 모델입니다. 기존 폭포수 모델은 초기 설계가 잘못 되었을 경우, 되돌릴 수 없다는 한계와 위험성을 갖고 있었습니다. 또한 개발이 다 되고나서야 제품을 테스트할 수 있다는 맹점도 있었습니다. 하지만 나선형 모델은 프로토타이핑 모델의 특성을 받아들여, 계속 테스트하면서 점진적으로 개발해갑니다. 이를 통해 잠재적 위험성을 최소하며 대규모 시스템을 개발할 수 있습니다. (.. 2023. 4. 26.
[SW공학] 프로토타이핑(프로토타입) 모델의 개념과 프로세스 프로토타이핑 모델의 개념과 프로세스에 대해서 알아보겠습니다. [ Contents ] 1. 프로토타이핑(Prototyping) 모델 사용자 요구분석을 위해, 견본품(Prototype)을 만들어 의사소통 도구로 사용하는 방식 프로토타입은 '시제품'으로, 사용자에게 어떻게 만들어질지를 보여주는 샘플입니다. 따라서 성능, 품질 따지지 않고 단순히 동작만 하도록 구현합니다. 사실 상황에 따라서는 프로그램 코드로 구현하지 않고, 스케치북이나 PPT 등을 활용해서 만들 수도 있습니다. 프로토타입의 목적은 사용자의 요구를 파악하고 분석하는 데에 있으므로, 빠르고 값싸게 만들어서 피드백을 얻고 폐기합니다. 프로토타입을 보완해서 실제 제품을 만드는 경우도 있으나, 소프트웨어 공학에서는 지양하고 있습니다. 2. 프로토타이핑.. 2023. 4. 26.
[SW공학] 폭포수 모델(Waterfall)의 개념과 장단점 폭포수 모델은 [요구사항 정의 - 시스템 & 소프트웨어 설계 - 구현 및 단위테스트 - 통합 및 시스템 테스트 - 운용 & 유지보수]의 과정을 거쳐서 개발하는 프로세스입니다. 이러한 폭포수 모델의 특성과 장단점을 살펴보겠습니다. [ Contents ] 1. 폭포수(Waterfall) 모델 폭포처럼 각 단계가 순차적으로 진행되는 정형화된 모델 물이 거슬러 올라갈 수 없듯이, 폭포수 모델도 한 번 지나친 단계는 다시 돌아가지 못하는 모델로 유명합니다. 하지만 요즘에는 문제가 있을 시, 이전 단계로 되돌아가기도 합니다. 다만 에자일과 같은 방식처럼, 이전 단계로 돌아가는 걸 상정하진 않습니다. 단계별로 시간을 들여 확실하게 하는 대신, 다시 되돌아가는 비용을 줄이는 모델이죠. 여기에서 확실하게 진행한다는 건,.. 2023. 4. 26.