OOSE_01_시스템공학과소프트웨어공학
1. 시스템 vs 소프트웨어
시스템 : 특정 기능을 수행하기 위한 관련 요소들의 집합체(unified whole)
시스템 공학: 시스템의 개발, 운용, 보수를 합리적으로 수행하기 위한 사고방법,
절차, 조직 및 기법 등을 총칭
=> 가치 평가: 성능, 시간, 비용, 신뢰성, 보전성, 안전성 등
소프트웨어 : 프로그램과 관련 자료 일체(산출물)를 통칭
-프로그램 : 문제를 해결하기 위해 처리 방법과 순서를 기술한 명령문 집합체
= 알고리즘 + 데이터 (Imperative Programming Language)
= 함수 + 값 (Functional Programming Language)
= 논리적인 데이터 시퀀스 (Logical Programming Language)
= 데이터(속성) + 역할(메소드) + 상호작용 (Object-Oriented Programming Language)
Object-Oriented -> Encapsulation(캡슐화), Inheritance(상속), Polymorphism(다형성)을 가짐.
-산출물 : 구동환경, 구성, 기능, 코드 등의 집합체
소프트웨어 공학: 소프트웨어의 개발, 운용, 보수, 파기에 대한 체계적인 접근방법
• 소프트웨어 개발 : 문제를 해결하기 위한 목적물을 만들어 내는 과정을 총칭
• 과정(생명주기 모델) : 계획, 요구사항 분석, 설계, 구현, 시험, 유지보수
• 가치 평가 : 주요 기능, 성능 제약조건, 설계 제약조건, 인터페이스, 정보구조 등
2. 건축공학 vs 소프트웨어공학
건축공학 설계 과정과 소프트웨어공학 개발 과정은 매우 비슷하다.
건축공학 설계 과정
계획 - 건축물 사용자 요구사항 분석 - 건축물 설계 - 시공 - 감리 - 건축물 유지보수
소프트웨어 개발 과정
계획 - 분석 - 설계 - 구현 - 시험 - 유지보수
- 계획 : 목표를 세우고 이를 달성하기 위해 체계적인 진행 상황 관리를
할 수 있도록 세부 행동 방안을 마련하는 활동 - 분석 : 요구사항의 규명, 타당성 조사, 비용과 일정에 대한 제약 설정,
요구사항 정의, 문서화 등의 활동 (개념적 단계) - 설계 : 분석과정에서 모아진 요구사항을 설계도면에 옮기는 활동
(물리적 단계 시작) - 구현 : 설계의 결과를 사용자가 이용할 수 있는 모습으로 변환하는 활동
- 시험 : 개발 전 과정에 대해 체계적으로 점검할 수 있는 일련의 활동들의 집합
(제품의 오류를 발견하고 수정하는 활동) - 유지보수 : 사용 중 발생하는 여러 변경 사항에 대해 적응하는 활동
(변화에 대비하는 과정)
첫 번째 창조를 [분석], 두 번째 창조를 [개발]이라 부른다.
첫 번째 창조는 [무엇](What)을 만들 것인가를 규명하는 단계이고,
두 번째 창조는 첫 번째 창조에서 밝혀진 목표를 [어떻게](How to) 이루어 나갈지
밝히는 실천 과정이다.
'수업' 카테고리의 다른 글
웹 프로그래밍 - 02. HTML 폼 태그 (0) | 2023.03.20 |
---|---|
컴퓨터그래픽스 - 3. 컴퓨터 그래픽스 컬러모델 (2) | 2023.03.19 |
모바일프로그래밍 - <간단한 숫자 계산 앱> (0) | 2023.03.14 |
컴퓨터그래픽스 - 2. 컴퓨터 그래픽스 하드웨어 (0) | 2023.03.14 |
모바일프로그래밍 기초 - Android studio 활용 <간단한 주사위 게임 앱 만들기> (0) | 2023.03.14 |