[정보처리기사도전기]#1 소프트웨어 설계

Ben·2021년 7월 6일
0

총 시험시간 2시간 30분
NCS기반으로 출제

총 과목은 5과목

  • 소프트웨어 설계
  • 소프트웨어 개발
  • 데이터베이스 구축
  • 프로그래밍 언어 활용
  • 정보시스템 구축관리

한과목당 20문항이고, 합격조건은 평균 60점, 한과목당 최소 8문항이상 맞춰야한다.

소프트웨어의 수명주기
계획 -> 분석 -> 설계 -> 구현 -> 시험, 디버깅 -> 인수인계 -> 운영, 유지보수 ... 폐기

1. 소프트웨어 공학의 개념

(1) 소프트웨어 공학의 정의

최소의 경비로 품질 높은 소프트웨어 상품의 개발, 유지보수 및 관리를 위한 모든 기법, 도구, 방법론의 총칭으로서, 전산학(기술적요소), 경영학(관리적 요소), 심리학(융합적 요소)을 토대로 한 종합학문

(2) 소프트웨어 공학의 목적

  • 소프트웨어 공학은 소프트웨어 위기를 극복하기 위해 개발한 학문으로, 소프트웨어 제품의 품질을 향상시키고, 생산성과 작업 만족도 증대, 신뢰도 높은 소프트웨어의 생산 등을 목적으로 하는 학문
  • 소프트웨어를 개발 및 유지보수의 생산성향상과 품질향상
  • 유지 보수가 용이하도록 소프트웨어를 개발하여 재사용성을 높일 수 있는 소프트웨어 개발
  • 최소의(최적의) 비용과 자원 안에서 품질 좋은 소프트웨어를 기간 내에 생산하는 것이 소프트웨어의 주된 목적

(3) 소프트웨어 공학의 역사

1) 1960년대

  • IBM360/OS개발시 소프트웨어 위기 인식 시작
  • Dijkstra, GOTO문의 유해성 주장
  • 1968년 NATO에서 "소프트웨어 공학" 탄생
    소프트웨어 위기
    소프트웨어 공학 탄생

2) 1970년대

  • 소프트웨어 생명주기와 개발도구의 제안
  • 1973년 IEEE, 소프트웨어 신뢰성과 공학기법에 관한 심포지엄
  • 구조적 프로그래밍에서 더 나아가 구조적 분석 및 설계의 개념이 소프트웨어 위기의 극복 수단으로 각광 받기 시작
    구조적 기법

3) 1980년대

  • 소프트웨어 공학의 개념이 정립되고, 소프트웨어 개발 생명 주기와 비용 모형이 제안되었다.
  • (전반)구조적 방법, Jackson 방법, Warnier-Orr 방법 등 분석, 설계 방법들의 활용과 시험, 유지보수, 프로젝트 관리, 개발환경 등 소프트웨어 개발 기술의 발전
  • (후반)객체지향 분석, 설계, 프로그래밍, 4세대 언어, 소프트웨어 재사용, CASE, 피플웨어, 정보공학, 품질보증, 형상관리, 프로토타이핑 등으로 개발 및 관리
    객체지향 기법

4) 1990년대

  • 객체지향, 정보공학, CASE 등의 활용 단계

※ CASE (Computer Aided Software Engineering)

  • 소프트웨어 공학의 자동화를 의미를 의미하며, 소프트웨어 공학작업 중 하나의 작업을 자동화한 소프트웨어 패키지를 CASE 도구라 한다. 이러한 도구를 한데 모아놓은것을 소프트웨 공학환경(Software Engineering Environment)이라 한다.
  • CASE 도구들은 소프트웨어 관리자들과 실무자들이 소프트웨어 프로세스와 관련된 활동을 지원한다. 즉, 프로젝트 관리 활동을 자동화하고, 프로세스에서 생산된 결과물을 관리하며, 엔지니어들의 분석, 설계 및 코딩과 테스트 작업을 도와준다.
  • ⭐️ CASE의 주요기능 : 다양한 소프트웨어 개발 모형 지원, 그래픽 지원, 소프트웨어 생명주기 전 단계의 연결
profile
프로그램을 만드는것을 업으로 삼은 사람입니다

0개의 댓글