본문 바로가기
자료구조

자료구조 2강 요악 (소프트웨어와 자료구조)

by 므시칸곰틔군 2014. 12. 23.

2장 소프트웨어와 자료구조


요약


1. 소프트웨어 개발 단계와 방법을 이해하고 체계적으로 개발, 관리하기 위해서 소프트웨어의

   개발 과정을 몇 단계로 구분한다. 이를 소프트웨어 생명주기 또는 소프트웨어 개발 주기라

   고 하고 일반적으로 요구 분석, 시스템 명세, 설계, 구현, 테스트, 유지보수의 6단계로 구

   분한다.


2. 요구 분석은 문제 분석이라고도 하는데, 이 단계에서 개발할 소프트웨어의 기능과 제약 조

   건, 목표 등을 소프트웨어 사용자와 함께 명확히 정의한다.


3. 시스템 명세 단계는 시스템이 무엇을 수행해야 하는지를 정의하는 단계다.


4. 설계는 시스템 구조 설계와 프로그램 설계, 사용자 인터페이스설계로 구분할 수 있고, 그

   설계 방법에는 하향식 설계방법과 상향식 설계방법 그리고 객체지향 설계 방법이 있다.


5. 구현 단계는 설계 단계에서 논리적으로 결정한 문제 해결 방법(알고리즘)을 C,C++,JAVA 

   등의 특정 프로그래밍 언어를 사용하여 실제로 프로그램을 작성하는 단계다. 따라서 구현

   단계에서는 사용할 프로그래밍 언어를 선택해야 하고, 프로그래밍 기법과 스타일, 프로그

   래밍 순서 등을 결정해야 한다.


6. 테스트 단계는 개발한 시스템이 요구 사항을 만족하는지, 실행 결과가 예상한 결과와 정확

   하게 맞는지를 검사하고 평가하는 일련의 과정으로서 숨어있는 오류를 최대한 찾아내어 시

   스템의 완성도를 높이는 것을 목적으로 한다. 테스트는 일반적으로 단위 테스트(unit test)

   , 통합 테스트(integration test), 인수 테스트(acceptance test)의 3단계로 시행한다.


7. 유지 보스 단계는 시스템이 인수되고 설치된 후에 일어나는 모든 활동을 의미한다.


8. 개발된 소프트웨어의 품질은 정확성과 유지 보수성, 무결성, 사용성 등에 따라 평가한다.


9. 추상화는 무엇인가(what)를 논리적으로 정의하는 것이고, 구체화는 어떻게 할 것인지(how)

   를 실제적으로 표현하는 것이다.


10. 알고리즘은 주어진 문제를 해결하기 위한 방법을 추상화하여 일련의 단계적 절차를 논리적

    으로 기술해 놓은 명세서다. 알고리즘은 입력, 출력, 명확성, 유한성, 효과성에 댛나 조건

    을 만족해야 한다.


11. 알고리즘의 성능 분석은 실행에 필요한 공간 측면에서 분석하는 공간 복잡도와 실행에 소요

    되는 시간 측면에서 분석하는 시간 복잡도를 추정하여 일반적인 평가를 한다.


12. 공간 복잡도는 알고리즘을 프로그램으로 싱행하여 완료하는 데 필요한 총 저장공 간을 의미

    하는 것으로 고정 공간량과 가변 공간량의 합으로 구할 수 있다. 시간 복잡도는 알고리즘을

    프로그램으로 실행하여 완료하는 데 걸리는 시간을 의미하며, 프로그램의 컴파일 시간과 실

    행 시간의 합으로 표현한다. 시간복잡도를 나타낼 때 빅-오(big - oh) 표기법을 사용한다.

'자료구조' 카테고리의 다른 글

자료구조 1강 요약  (0) 2014.12.23