본문 바로가기
소프트웨어공학

소프트웨어공학

by Backchus 2017. 10. 26.

1. 소프트웨어 공학의 정의와 관계

소프트웨어 개발 능력의 발전 속도보다 하드웨어 기술의 발전속도가 훨씬 빠르기 때문에 기존 정보기술로 개발된 S/W의 유지보수가 어렵고 새로운 S/W를 요구하는 시장의 수요를 감당할 수 없다. 이런 S/W위기를 극복하고 소프트웨어를 효율적이고 경제성있게 개발하기 위해 올바른 공학 원칙을 수립하고 사용하기 위해 생긴 이론이다.

소프트웨어 공학의 프로세스는 정의, 개발, 유지보수인 지원단계 이렇게 3개의 단계가 있다.

1) 정의 단계(Definition Phase)

- 무엇(what)에 초점

- 처리되는 정보, 성능과 기능, 인터페이스, 설계제약 조건, 검증기준 등의 기술

- 시스템과 소프트웨어의 주요 요구사항 결정단계

- 소프트웨어 프로젝트 계획, 요구분석 단계

2) 개발 단계(Development Phase)

- 어떻게(How)에 초점

- 데이터 구조화, 소프트웨어 기능 및 설계, 개발, 테스트에 대한 기술 단계

- 소프트웨어 설계, 코드 생성, 소프트웨어 테스트 단계

3) 지원 단계(Support Phase)

- 변화(Change)에 초점

- 오류수정, 소프트웨어 사용환경변화에 따른 변화, 사용자 요구에 따른 변경

- 기존 소프트웨어의 성질은 변화시키지 않는 범위에서 적용시킴

- 종류 : 수정(결함수정), 적용(환경변화), 강화(기능추가), 예방(품질향상)


2. 소프트웨어 개발 모델

프로토타이핑 모델

프로토타이핑 모델의 정의

- 프로토타이핑을 통하여 개발하려는 시스템주요 기능을 사용자의 요구사항을 최대한 반영하여 초기에 개발하는 방법
- 폭포수 모델(Waterfall Model)의 단계적 개발방법의 단점 보완하여 실제의 소규모운영 모델을 단기간에 구체화 시키는 방법

프로토타이핑 모델의 필요성

- 비전문가인 사용자와 개발될 소프트웨어에 대한 목적과 기능을 원활하게 의사소통하기 위한 방안이 필요함
- 간단한 시제품(프로토타이프)을 만들어서 사용자의 요구사항을 정확히 적용할 수 있음

프로토타이핑 모델의 구성

프로토타이핑 모델의 장단점

장점

- 사용자 요구사항이 불명활 할때 사용하는것이 용이

- 개발자와 사용자의 의사소통 원활

- 시스템의 이해와 품질향상에 기여

- 제품의 추적성, 시험가능성 확보

단점

- 프로토타입 폐기 시 비경제적임

- 소프트웨어 개발에 많은 시간이 소요되며, 보고서 등 출력물이 많아짐




'소프트웨어공학' 카테고리의 다른 글

Class Diagram  (0) 2017.10.26
Use Case Diagram  (0) 2017.10.26
객체지향  (0) 2017.10.26