https://www.njobler.net/product/lecture/show/prod/10810
1억뷰 N잡
[연장 미포함] 흥나게 합격달성! 정보처리기사 실기
www.njobler.net
본 강의를 듣고 내용을 정리하며 적은 게시글 입니다.
소프트웨어 공학에서 가장 중요한것은 절차이다.
계획 → 요구사항 분석→ 설계 → 구현 → 테스트 → 유지보수
- 소프트웨어 공학
- 소프트웨어 공학의 정의
- 소프트웨어 위기를 극복하고 효율적으로 품질 높은 소프트웨어를 개발하기 위한 학문
- 소프트웨어의 위기의 원인
- 소프트웨어 특성에 대한 이해 부족
- 관리방법론 부재
- 전문적 교육 부족
- 등등
- 위기의 결과
- 개발인력 부족과 인건비 상승
- 성능 및 신회성 부족
- 생산성 저하
- 품질저하 및 유지보수 비용 증가
- 소프트웨어 공학의 정의
- 소프트웨어 공학의 3R
- 소프트웨어 공학의 3R 정의
- 완성된 소프트웨어를 기반으로 역공학, 재공학, 재사용을 통해 소프트웨어의 생산성을 극대화 하는 기법
- 3R의 필요성
- 역공학 - Reverse Engineering
- 기존 개발된 시스템을 CASE 도구를 이용하여 요구분석서, 설계등의 문서로 추출하는 작업
- 개발단계를 역으로 올라가 기존개발된 시스템의 코드나 데이터로부터 설계 명세서나 요구 분석서등을 도출하는 작업
- 특징
- 상용화되거나 기 개발된 소프트웨어의 분석을 도와줌
- 유지보수성 향상
- 재공학 - Re Engineering
- 소프트웨어의 위기를 해결하기 위해 개발의 생산성이 아닌 유지보수의 생산성으로 해결하는 방법
- 특징
- 소프트웨어의 유지보수성과 품질을 향상
- 부작용 미리발견해 위험부담 제거, 복구비용 절감
- 예방 유지보수 측면에서 소프트웨어 위기 해결
- 과정
- 분석
- 재구성
- 역공학
- 이관
- 재사용 Reuse
- 이미 개발되어 있는 소프투웨어의 전체 또는 일부분을 다시 사용
- 재사용 범위
- 함수와 객체 재사용 : 클래스나 함수 단위로 구현한 소스코드를 재사용
- 컴포넌트 재사용
- 애플리케이션 재사용
- 재사용 방법
- 합성중심 : 끼워 맞추어 소프트웨어를 완성시키는 방법
- 생성중심 : 추상화 형태로 쓰여진 명세를 구체화하여 프로그램을 만드는 방법
- 소프트웨어 공학의 3R 정의
- 소프트웨어 개발단계
계획 → 요구사항 분석→ 설계 → 구현 → 테스트 → 유지보수
- 계획
- 무엇을 개발할 것인지 명확하게 정의
- 개발범위 결정
- 시스템 성격파악하여 비용과 기간을 예측
- 요구사항 분석
- 개발할 소프트웨어의 기능과 제약조건, 목표등을 고객과 함께 정의
- 요구사항의 정확한 이해 및 요구사항 유도
- 요구사항에 대한 협상 및 조율
- 요구사항의 적합성 검토 및 향후 예측
- 현재 실행 환경에대한 분석
- 설계
- 시스템이 어떻게 동작하는 지를 정의
- 설계 구분
- 시스템 구조 설계 : 모듈 간의 관계와 구조 설계
- 프로그램 설계 : 각 모듈의 처리절차나 알고리즘 설계
- 사요자 인터페이스 설계 : 사용자가 시스템을 사용하기 위해 보여지는 부분을 설계
- 구현
- 프로그래밍 언어를 이용하여 실제로 프로그램을 작성
- 코딩과 디버깅이 이루어지면, 단위(모듈) 테스트를 진행
- 테스트
- 구현된 소프트웨어가 요구사항을 만족하는지 검사
- 실행결과가 예상 결과와 맞는지 검사하고 평가
- 테스트 계획, 통합 테스트 결과서 등을 작성
- 유지보수
- 소프트웨어를 사용하며 문제점을 수정하고, 새로운 기능을 추가
- 소프트웨어를 좀더 발전시키는 단계
'정보처리기사' 카테고리의 다른 글
6. 소프트웨어 아키텍처 (0) | 2023.03.29 |
---|---|
5. 소프트웨어 설계의 기본원칙 (0) | 2023.03.29 |
4. 요구사항 분석 (0) | 2023.03.29 |
3. 프로젝트 계획 (1) | 2023.03.28 |
2. 소프트웨어 개발 방법론 (0) | 2023.03.28 |