728x90
Ch01. 서론
📌 소프트웨어 공학 10판- 한티미디어
[소프트웨어 공학]
▶소프트웨어
- 기반 시설이 컴퓨터 기반 시스템으로 제어
- 많은제품에 컴퓨터와 제어 SW를 탑재
- 제조, 유통, 금융 등 분야의 컴퓨터화
- 소프트웨어는 추상적이며 무형. 물리적 제약이 없으므로 시스템이 되려 극도로 복잡해질 수 있음
▶다양한 종류의 소프트웨어 시스템
- 단순한 임베디드 시스템부터 복잡한 정보 시스템까지다양한 소프트웨어 시스템 존재
- 소프트웨어 시스템 종류에 따라 다른 접근법 필요
- 소프트웨어 공학에는 보편적 표기법, 방법, 기법 존재 X
[소프트웨어 프로젝트 실패 요인]
⇒ 시스템 복잡도 증가
- 더 크고 복잡한 시스템 구축 가능해짐에 따라 계속 ‘요구사항이 변함’
- 시스템 더 신속하게 공급해야 함. 더 크고 복잡한 시스템이 필요함
- 이전에 불가능하게 여겨지던 새로운 기능을 가져야 함
⇒ 소프트웨어 공학 방법론 사용의 실패
- 소프트웨어 공학 방법과 기술 사용 없이도 프로그램 작성 쉬움
- 많은 기업들이 제품과 서비스 진화시키면서 동시에 SW 개발함
- 일상 업무에 SW 공학 방법을 사용 X
- 결과적으로 SW는 더 비싸지고, 안정성, 신뢰성 부족하게 됨
[소프트웨어 공학의 역사]
- 1968년 소프트웨어 위기(software crisis), 70-80년대 본격적 개발
- 구조적 프로그래밍, 정보 은닉, 객체지향 개발, 표준 표기법과 도구
1.1 전문적 소프트웨어 개발
[소프트웨어 제품]
- 일반 제품
-수평적(horizontal) 제품 : 응용분야에 관계없이 사용되는 애플리케이션
-수직적(vertical) 제품 : 특정 응용분야를 위한 애플리케이션
- 맞춤식 소프트웨어
[좋은 소프트웨어의 필수적 특성]
⇒ 수용성 (acceptability)
- SW는 해당 사용자에 의해 수용 가능해야 함
- 이해 쉽고 사용 쉽고 기존 시스템과 호환성 있어야 함
⇒ 확실성 (dependability)과 보안성(security)
- 신뢰성. 보안성, 안정성을 포함하는 여러 특성을 의미
- 확실성 있는 SW는 시스템 장애 시에도 물리적/경제적 손실 야기 X
- 악의적 사용자가 시스템에 접근하거나 피해 줄 수 없도록 해야 함
⇒ 효율성 (effciency)
- SW는 메모리. CPU 등 시스템 자원 낭비해서는 안된다.
⇒ 유지보수성(maintatinability)
- 소프트웨어는 고객 변경 요구에 맞도록 진화. 변화하는 비즈니스 환경에 맞게 작성
[소프트웨어 공학]
▶소프트웨어 공학
- 초기 시스템 명세 작성부터 시스템 사용.유지보수되는 것까지
소프트웨어 제품화와 관련된 모든 관점을 다루는 공학 분야
▶소프트웨어 생산.개발의 모든 관점
[소프트웨어 공학의 중요성]
- 개인과 사회가 SW 시스템에 더 많이 의존한다.
- 전문적 SW 개발을 위해 소프트웨어 공학 기법 사용하는 것이 보통 비용 적게 든다.(장기적)
[소프트웨어 프로세스 기본 활동] : 공통적인 활동 (*)****
소프트웨어 명세화(specification) | (요구사항 분석 ) 고객과 개발자가 소프트웨어의 기능.운영 제약조건을 정의 |
---|---|
소프트웨어 개발(development) | (설계. 구현) 소프트웨어를 설계하고 프로그램 작성 |
소프트웨어 검증(validation) | (테스팅) 소프트웨어가 고객이 요구하는 것이 맞는지 확인 |
소프트웨어 진화(evolution) | (유지보수) 고객/시장 요구에 따라 SW 수정 |
728x90
'[전공] 학교 전공 공부 > [학교] 소프트웨어 공학' 카테고리의 다른 글
Ch05. 시스템 모델링 (0) | 2022.04.08 |
---|---|
Ch04. 요구공학 (0) | 2022.04.08 |
4주차 과제 - [소프트웨어 공학] (0) | 2022.04.02 |
Ch03. 애자일 소프트웨어 개발 (0) | 2022.03.23 |
Ch02. 소프트웨어 프로세스 (0) | 2022.03.17 |