728x90
* 학기 중 공부했던 내용 정리하는 중...
S/W Engineering 의 출현
S/W Engineering - 1960년대 후반(1968년)에 "Software Crisis"라는 주제의 NATO 국제 학술대회에서 "S/W Engineering"이란 용어가 처음 소개되었다. *NATO: 냉전이 시작된 1949년, 집단안전보장조약인 북대서양 조약에 의해 탄생한 북미와 유럽 등 서방 국가들의 군사동맹이다. |
S/W 의 현재 상황
S/W의 현재 - 컴퓨터 H/W의 가격 하락 > 컴퓨터의 사용양적 팽창 > 대부분의 개인/조직이 컴퓨터 시스템<H/W, S/W>에 종속함 > S/W가 시스템의 비용 중 큰 비중 차지 (결론: S/W의 중요도 상승, H/W 가격 하락, S/W의 가격 상승) |
Small S/W - 간단함, 개인 관리 가능 Large S/W - 복잡함, 다수가 관리, 개발 및 관리시 체계적 접근이 필요함, 형식화, 표준화된 기법 사용, 적절한 문서화 필요 |
1960년대 후반 일어난 일
3세대 컴퓨터 H/W(1947년 Transistor에 이은 IC)가 출현함
1. H/W 성능의 급진적 향상이 예측 > 복잡하고 새로운 S/W 시스템 구축 요청 2. 그러나, 기존의 소규모 S/W 개발 방법은 개발비용 상승 및 신뢰도 하락을 초래함 3. 새로운 S/W의 분석, 설계, 구현, Test 및 유지/보수의 방법이 필요 > S/W 공학 탄생 (S/W의 개발단계<분석, 설계, 구현, Test>와 설치 및 사용 중 유지/보수 단계 전반에 걸쳐 S/W 공학 이론 적용, S/W Life-Cycle(생명주기) 전반에 대해 적용) |
* IC(Integrated Circuit: 집적 회로)
많은 전자회로 소자가 하나의 기판 위 또는 기판 자체에 분리 불가능한 상태로 결합되어 있는 초소형 구조의 복합적 전자소자 또는 시스템. 트랜지스터, 다이오드, 저항, 캐패시터 등 복잡한 전자부품들을 정밀하게 만들어 작은 반도체 속에 하나의 전자회로로 구성해 집어 넣은 것
Well-Engineered S/W란 무엇인가?
Well-Engineered S/W 1. No Bug: Good Reliability<기능, 보안> 2. Good Maintainability With Low Cost: 적적한 문서화 등이 필요, 프로그램 수정 시 유리 3. Good Efficiency: 메모리나 프로세서 이용의 효율화 4. Good User Interface(User-friendly): 그래픽 기능(GUI 기능) 강화, 성능 저하 가능성이 있음 |
*문제점
- 4번의 그래픽 기능이 강화되면 3번의 성능 저하 문제가 생길 수 있다. 이런 이유로 모든 장점을 다 가질 수는 없다.
*해결방안
- 최적화 노력이 필요하다.
- S/W 개발 초기 단계(분석 단계)에서 정확한 비용, 성능, 등의 확정이 유리하다.
성능(효율, 신뢰도) 향상 대 Cost의 관계 - 지수함수로 표현, 성능(효율, 신뢰도)등을 완벽히 하기 위해선 비용이 천문학적으로 요구된다.
S/W Engineering(소프트웨어 공학)의 정의
S/W Engineering이란? - 생산성 높은 S/W 개발 및 품질 보증 그리고 S/W 개발 및 유지/보수 단계의 비용을 절약하기 위해 필요한 체계적인 방법론과 Tool을 연구하는 학문 ex) 자동차 S/W 결함의 예) H/W 결함시보다 더 많은 수리 비용이 요구된다. |
728x90
'소프트웨어공학' 카테고리의 다른 글
[S/W] Structured Program의 성격 (0) | 2022.10.26 |
---|---|
[S/W] Structured Programming(구조화 프로그래밍) & H/W의 발달 (0) | 2022.10.19 |
[S/W] S/W Cost Estimation(S/W 비용 추정) (0) | 2022.10.12 |
[S/W] S/W의 생명 주기(Life-Cycle) (1) | 2022.10.05 |
[S/W] S/W 개발 과정 전반에 공학의 원리 도입과 S/W의 변화 (0) | 2022.09.21 |