본문내용
진단하고 수정하는 과정
* 기능 개선 유지 보수(Prefective Maintenance) : 유지보수 유형 중 현재 수행중인 기능의 수정, 새로운 기능의 추가, 전반적인 기능 개선 등의 요구를 사용자로부터 받았을 때 수행되는 유형으로, 유지 보수 유형별 비용 비율 중 약 50%를 차지
* 적응 유지 보수(Adaptive Maintenance) : 소프트웨어 산물의 수명기간 중에 발생하는 환경 변화를 기존의 소프트웨어 산물에 반영하기 위하여 수행
* 예방 유지 보수(Preventive Maintenance) : 더 좋은 조건을 갖도록 향상시키기 위해서나 유지 보수성이나 신뢰성을 증진시키기 위해 변화될 때 발생
2. 소프트웨어 품질 보증과 신뢰도
(1) 품질 보증
(2) 신뢰성 측정 : MTBF(Mean Time Between Failure), MTTR(Mean Time To Repair), MTTF(Mean Time To Failure), 신뢰도(Reliability)
6. 객체 지향 설계 기법
1. 객체 지향의 개념
* 객체(object), 메시지(message), 상속(inheritance)으로 실세계의 모든 엔티티들은 시스템에서 객체로 모델링하며, 각 엔티티들은 인스턴스로 표현한다.
2. 객체 지향 용어
- 메소드(Method) : 객체 지향 시스템에서 전통적 시스템의 함수(Function) 또는 프로시저(Procedure)에 해당하는 연산 기능
- 클래스(Class) : 객체지향 개념 중 하나 이사의 유사한 객체들을 묶어 공통된 특성을 표현한 데이터 추상화를 의미
- 캡슐화(Encapsulation) : 객체지향 시스템에서 자료 부분과 연산(또는 함수)부분 등 정보 처리에 필요한 기능을 한 테두리로 묶는 것
3. 객체 지향 개발 방법
* 계획 → 분석 → 설계 → 구현 → 시험 및 유지보수
(1) 객체 지향 분석(OOA; Object Oriented Analysis)
- 람바우의 객체 지향 분석(OOA)
* 객체 모델링(Object Modeling) : 객체 식별 객체간의 관계 정의(객체 다이어그램)
* 동적 모델링(Dynamic Modeling) : 객체 모델링에서 규정된 객체들의 행위와 상태 흐름 작성
* 기능 모델링(Functional Modeling) : 다이어그램을 이용하여 다수 프로세스들간 데이터 흐름을 중심으로 처리
(2) 객체 지향 설계(OOD; Object Oriented Design)
- 객체 지향 설계에 있어 가장 중요한 문제는 시스템을 구성하는 개체와 속성, 연산을 인식하는 것이다.
- 객체 지향 설계를 문서화할 때 객체와 그들의 부객체(Sub-object)의 계층적 구조를 보여주는 계층 차트를 그리면 유용하다
- 객체는 순차적으로(Sequentially) 또는 동시적으로(concurrently)구현될 수 있다.
- 객체 지향 설계(OOD)
* 실세계를 모델로 생성해 나가는 것
* 성능 및 전략 확정 → 시스템 설계
* 자료구조와 알고리즘 상세화 → 객체 설계
7. S/W 공학의 발전적 주제
1. 소프트웨어 재사용
(1) 재사용의 장점
* 개발 시간과 비용을 감소시킨다.
* 프로젝트 실패의 위험을 줄여준다.
* 소프트웨어 개발자의 생산성을 증가 시킨다
* 소프트웨어 품질 향상
(2) 재사용의 단점
* 소프트웨어 프로그래밍 언어의 종속
* 새로운 개발 방법 도입이 어렸다.
* 표준화가 부족하다.
(3) 소프트웨어 재공학(Reengineering) 목적
* 복잡한 시스템을 다루는 방법
* 다른 뷰를 생성
* 잃어버린 정보의 복구 및 제거
* 부작용 발견
* 재 사용 용이
2. CASE(Computer-Aided Software Engineering)
(1) CASE 개념
* 소프트웨어 개발의 작업들을 자동화하는 것이다.
* 소프트웨어 도구와 방법론의 결합이다.
* 소프트웨어의 생산성 문제를 해결할 수 있다
(2) CASE 분류
* 상위(Upper) CASE
* 중위(Middle) CASE
* 하위(Lower) CASE
(3) CASE 특징
* 소프트웨어 개발 비용을 절약할 수 있다.
* 자동화된 검사를 통해 소프트웨어 품질을 향상시킨다.
* 프로그램의 유지보수가 용이하다
* 소프트웨어 생산성문제를 해결할 수 있다.
* 소프트웨어 개발 단계의 표준화
* 기능 개선 유지 보수(Prefective Maintenance) : 유지보수 유형 중 현재 수행중인 기능의 수정, 새로운 기능의 추가, 전반적인 기능 개선 등의 요구를 사용자로부터 받았을 때 수행되는 유형으로, 유지 보수 유형별 비용 비율 중 약 50%를 차지
* 적응 유지 보수(Adaptive Maintenance) : 소프트웨어 산물의 수명기간 중에 발생하는 환경 변화를 기존의 소프트웨어 산물에 반영하기 위하여 수행
* 예방 유지 보수(Preventive Maintenance) : 더 좋은 조건을 갖도록 향상시키기 위해서나 유지 보수성이나 신뢰성을 증진시키기 위해 변화될 때 발생
2. 소프트웨어 품질 보증과 신뢰도
(1) 품질 보증
(2) 신뢰성 측정 : MTBF(Mean Time Between Failure), MTTR(Mean Time To Repair), MTTF(Mean Time To Failure), 신뢰도(Reliability)
6. 객체 지향 설계 기법
1. 객체 지향의 개념
* 객체(object), 메시지(message), 상속(inheritance)으로 실세계의 모든 엔티티들은 시스템에서 객체로 모델링하며, 각 엔티티들은 인스턴스로 표현한다.
2. 객체 지향 용어
- 메소드(Method) : 객체 지향 시스템에서 전통적 시스템의 함수(Function) 또는 프로시저(Procedure)에 해당하는 연산 기능
- 클래스(Class) : 객체지향 개념 중 하나 이사의 유사한 객체들을 묶어 공통된 특성을 표현한 데이터 추상화를 의미
- 캡슐화(Encapsulation) : 객체지향 시스템에서 자료 부분과 연산(또는 함수)부분 등 정보 처리에 필요한 기능을 한 테두리로 묶는 것
3. 객체 지향 개발 방법
* 계획 → 분석 → 설계 → 구현 → 시험 및 유지보수
(1) 객체 지향 분석(OOA; Object Oriented Analysis)
- 람바우의 객체 지향 분석(OOA)
* 객체 모델링(Object Modeling) : 객체 식별 객체간의 관계 정의(객체 다이어그램)
* 동적 모델링(Dynamic Modeling) : 객체 모델링에서 규정된 객체들의 행위와 상태 흐름 작성
* 기능 모델링(Functional Modeling) : 다이어그램을 이용하여 다수 프로세스들간 데이터 흐름을 중심으로 처리
(2) 객체 지향 설계(OOD; Object Oriented Design)
- 객체 지향 설계에 있어 가장 중요한 문제는 시스템을 구성하는 개체와 속성, 연산을 인식하는 것이다.
- 객체 지향 설계를 문서화할 때 객체와 그들의 부객체(Sub-object)의 계층적 구조를 보여주는 계층 차트를 그리면 유용하다
- 객체는 순차적으로(Sequentially) 또는 동시적으로(concurrently)구현될 수 있다.
- 객체 지향 설계(OOD)
* 실세계를 모델로 생성해 나가는 것
* 성능 및 전략 확정 → 시스템 설계
* 자료구조와 알고리즘 상세화 → 객체 설계
7. S/W 공학의 발전적 주제
1. 소프트웨어 재사용
(1) 재사용의 장점
* 개발 시간과 비용을 감소시킨다.
* 프로젝트 실패의 위험을 줄여준다.
* 소프트웨어 개발자의 생산성을 증가 시킨다
* 소프트웨어 품질 향상
(2) 재사용의 단점
* 소프트웨어 프로그래밍 언어의 종속
* 새로운 개발 방법 도입이 어렸다.
* 표준화가 부족하다.
(3) 소프트웨어 재공학(Reengineering) 목적
* 복잡한 시스템을 다루는 방법
* 다른 뷰를 생성
* 잃어버린 정보의 복구 및 제거
* 부작용 발견
* 재 사용 용이
2. CASE(Computer-Aided Software Engineering)
(1) CASE 개념
* 소프트웨어 개발의 작업들을 자동화하는 것이다.
* 소프트웨어 도구와 방법론의 결합이다.
* 소프트웨어의 생산성 문제를 해결할 수 있다
(2) CASE 분류
* 상위(Upper) CASE
* 중위(Middle) CASE
* 하위(Lower) CASE
(3) CASE 특징
* 소프트웨어 개발 비용을 절약할 수 있다.
* 자동화된 검사를 통해 소프트웨어 품질을 향상시킨다.
* 프로그램의 유지보수가 용이하다
* 소프트웨어 생산성문제를 해결할 수 있다.
* 소프트웨어 개발 단계의 표준화
추천자료
IT와 경영정보시스템 (1) 컴퓨터 시스템의 기억장치로서의 RAM과 자기디스크 장치의 비교와 (...
(IT와경영정보시스템)(1) 일반적인 컴퓨터의 처리 방식인 직렬처리 방식에 비해 병렬처리 방...
[IT와경영정보시스템]하드웨어 분류 방식 중 직렬처리 방식에 비해 병렬처리 방식의 특징을 ...
학습도구(교구)의 관련법규 변천배경, 학습도구(교구)의 설계규칙, 학습도구(교구)의 활용조...
로고프로그래밍의 안내적교수전략, 자폐아의 사회성발달교수전략, 자폐아의 행동연쇄방해교수...
영재교육수업전략, 물레방아수업전략(교육전략), 웹기반수업전략(교육전략), 교육용 소프트웨...
학습기자재(학습기기, 교육기자재) 활용현황, 학습기자재(학습기기, 교육기자재) 교육소프트...
사례 누구의 소유인가 토론 (에반스 사건의 경위, 소프트웨어 사건의 경위)
[기술인력, 산업기술인력, 과학기술인력]기술인력과 산업기술인력, 기술인력과 과학기술인력,...
[효과측정, 인터넷비즈니스 활동, 기업간 전자상거래]인터넷비즈니스 활동의 효과측정, 기업...
[2000년대]2003년(2000년대)의 IT산업(정보기술산업), 2003년(2000년대)의 소프트웨어산업, 2...
[분할][텍스트 분할][코드 분할][공개키 암호][코프로세서 분할][파장 분할]텍스트 분할, 코...
★교육공학에 대한 교육공학자들의 정의를 참고하여 내린 본인 나름대로의 [교육공학에 대한 ...
소개글