dongdorodongdong
Software Engineering 본문
Software
- 정의
- H/W를 동작시켜 사용자가 작업을 편리하게 수행하도록 하는 프로그램과 자료구조 등을 총칭
- 프로그램의 개발, 운용 및 유지보수에 관련된 모든 문서와 정보 - 특징
- 상품성
- 견고성
- 복잡성
- 순응성
- 비가시성
- 비마모성
- 비제조성
- 비과학성
Software Engineering
- 정의
- 가장 경제적, 신뢰도 높은 S/W를 만들기 위한 방법
- 도구와 절차들을 체계화 한 학문
- 코딩이 아니라 프로그램을 잘 만드는 방법을 연구
- S/W의 제작부터 운영까지 생산성을 높이기 위해 기술적, 인간적인 요소에 대한 방법론을 제공
- S/W의 개발, 운용, 유지보수, 폐기 처분에 대한 체계적인 접근 방안
- 과학 지식을 S/W 설계와 제작에 응용하는 것이며 이를 개발, 운용, 유지보수하는 데 필요한 문서 작성 과정 - 목표
- 투자 대비 성능 우수
S/W 개발 절차
- 요구 분석
- 분석 도구를 통해 어떻게 만들어 줄지 고민 - 설계
- 설계 기법을 통해 구체적인 기능과 구조를 체계화 - 구현
- 프로그램 언어를 선정하고 코딩 - 테스트
- 테스트 기법을 통해 요구사항에 맞게 작동하는지 테스트 - 유지보수
- 버전 업데이트 및 새로운 기능 추가
위기 현상
- 정의
- SW에 대한 다양한 요구, 납기 등을 개발 생산성이 따라가지 못 하는 현상
- SW개발속도 < HW개발속도
- Software Engineering이 나타나게 된 배경 - 원인
- SW 특성에 대한 이해 부족
- SW 관리 부재
- 프로그래밍에만 치중
- SW 개발 기술에 대한 교육 부족 - 결과
- 개발 인력의 부족
- 개발기간 지연 및 비용 증가
- 성능 및 신뢰성 부족
- 품질 저하
- 유지보수의 어려움
- 신기술에 대한 교육과 훈련의 부족
좋은 S/W의 조건
- 알아보기 쉬어야 함
- 경제적, 문서화가 잘 되어 있어야 함
- 독창적X
기본 원칙
- 현대적인 프로그래밍 기술 적용
- 지속적인 검증 시행
- 결과에 대한 명확한 기록 유지
- 충분한 인력 투입은 X
시스템
- 정의
- 목적, 목표 달성을 위해 여러 가지 상호 관련된 요소들을 유기적으로 결합한 것 - 구성요소
- Input
- Output
- Control
"자료를 입력하여 출력될 때까지의 처리 과정이 올바르게 진행되는지 감독"
- Feedback
"출력된 결과가 예정된 목표를 만족시키지 못할 경우 목표 달성을 위해 반복 처리"
'Software Engineering' 카테고리의 다른 글
구조적 개발 방법론(5. 디버깅 / 6. 유지보수) (0) | 2019.04.13 |
---|---|
구조적 개발 방법론(3. 구현 / 4. 검사) (0) | 2019.04.13 |
구조적 개발 방법론(2. 설계) (0) | 2019.04.13 |
구조적 개발 방법론(1. 요구사항 분석) (0) | 2019.04.13 |
소프트웨어 개발 방법론 (0) | 2019.04.13 |