반응형
< 소프트웨어 공학 간단 정리 - 첫번째 >
친절한 흰재 IT취미생활 블로그입니다.
<<<<<<<왼쪽 카테고리에 보시면 다양한 볼거리가 있습니다.<<<<<<<
원하시는 내용의 카테고리가 있다면 누르셔서 재밌게 관람해 주시면 감사하겠습니다!
흰재의 IT 레시피 블로그
소프트웨어 알아가기
소프트웨어 특징
1) 제조가 아닌 개발 : 소프트웨어는 하드웨어와 근본적으로 다른 면이 있으며, 기존의 공장에서 찍어낸다는 관점과 다르게 개별적으
로 개발되고 조작된다. 제조는 정해진 틀에 맞춰 일정하게 생산되는 것을 말한다.
인력이 많이 필요하지만 능력에 따른 결과물의 차이는 크지 않다.
2) 소모가 아닌 품질저하 : 소프트웨어의 가장 큰 특징은 닳지 않는다는 점이다.
하드웨어는 주변환경으로인해 고장이 잦은 반면, 소프트웨어는 시간이 지나도 고장빈도가 낮다.
또한, 사용 시작 단계부터 사용자의 요구사항이 계속 발생한다.
따라서, 어느 시간이 지나면, 사용자의 요구사항을 모아 시스템에 반영해야한다.
이처럼, 반복적인 변경으로인하여 실패율도 반복적으로 증가한다.
소프트웨어 개발 프로세스
정의는 소프트웨어 시스템을 구축하기 위하여 수행하는 단계이다.
좁은 의미에서는, 개발을 할 때, 필요한 절차, 과정, 구조이다.
사용자의 요구사항을 소프트웨어 시스템으로 구현하기위한 일련의 활동이다.
넓은 의미에서는 절차나 구조뿐만 아니라, 그 작업을 수행하는데 필요한 방법,도구 그리고 참여자들까지 포함한다.
목적은 정해진 기한 내에, 주어진 예산을 통해 사용자가 원하는 좋은 품질로 개발 하는 것이다.
또한, 시행착오를 통해 얻은 방법이나 지식을 전달함으로써 가이드 역할을 한다.
애자일 프로세스 모델
애자일 프로세스 모델은 고객의 요구에 민첩하게 대응하기위해 그때그때 주어지는 문제를 풀어나가는 방법론인다.
1) 애자일 개발 방법론(스크럼)
스크럼 개발 프로세스는 소프트웨어 개발보다는 팀의 개선과 프로젝트 관리를 위한 애자일 방법론
으로, 경험적 관리 기법 중 하나이다. 명확하게 제시하지않으며, 개발팀(조직)을 운영하는 효과적인 운영 방식이다.
2) 스크럼 진행 방식
① 사용자 스토리 : 쉽게 설명되어진 사용자 요구사항이다. 구현할 기능이 사용자 관점에서 사용자 언어로 작성
② 스토리 포인트 산정 : 사용자 스토리는 우선 순위가 정해져야한다. 하나의 스토리에 대한 업무량을 파악하여,
수행시 개발기간을 산정해야한다. 이때, 상대적인 시간을 스토리 포인트라고 한다.
③ 스프린트 : 작은 단위의 개발 업무를 단기간 내에 신속하게 개발 한다는 의미.
개발 팀은 팀원의 역량에 맞게 배정된 작업을 신속히 끝내야 한다.
비용 산정 기법
1. 원시 코드 라인수(LOC) 기법 : 소프트웨어 각 기능의 원시코드 라인 수의 비관치, 중간치, 낙관치를 측정하여
예측치를 구하고, 이를 통해 비용(노력, 개발 기간, 개발 비용, 생산성)을 산정하는 기법이다.
>> 실제 소프트웨어 개발에는 코딩뿐 아니라 요구 분석, 설계 등의 단계에서도 인력과 자원이 많이 필요하다.
2. COCOMO 기법 : LOC 확장모델이며, 소프트웨어 개발 비용을 산정할 때, 라인 수 중점에 두었다.
먼저 완성될 라인수(LOC)를 추정하고, 이를 준비된 식에 대입하여 개발에 필요한 M/M을 예측한다.
M/M은 노력을 의미하며, 인/월수 또는 Man/Month로 표현한다.
개발비를 산정한다고해도, 라인수만으로 똑같이 적용할 수는 없다.
3. 기능 점수 산정 방법 : 기능 점수는 개발하려는 소프트웨어 기능의 크기를 측정하는 단위이다.
즉, 소프트웨어 기능이 얼마나 복잡한가를 상대적인 점수로 표현한 것이다.
비용과 자원을 산정하는데 활용되어진다.
장점 - 개발방법과 능력에 상관없이 일관성 제공
단점 - 주관적 자료를 바탕으로하기때문에 신뢰도가 떨어진다.
정리
도움이 되셨다면 로그인 없이 가능한
아래 하트♥공감 버튼을 꾹 눌러주세요!