소프트웨어공학

SW 유지보수_적응, 수정, 완전화, 예방 유지보수, ISO 25010, lehman 리만 법칙, 진화

스윙스윙 2021. 12. 12. 22:04

▣ SW 유지보수_적응, 수정, 완전화, 예방 유지보수

완전 유지보수
(perfective maintenance)
새로운 기능 추가 -> 시스템 완벽성 추구
사용자가 새로운 기능 요구
개선/패치된 알고리즘, 기능을 추가 하는 것
적응 유지보수
(adaptive maintenance)
시스템을 새환경에 적응시킴, 변경된 환경에 맞춰 새버전 구축
SW운영 환경이 변화되었을 때 이러한 새로운 환경
(변경된 HW, DB 변화 등)에 SW를 적응 시키는 것
수정 유지보수
(corrective maintenance)
잘못된 것을 수정 -> 오류를 진단하고 수정
운영중인 SW에 오류가 발생되었을 때 이를 수정하는 것
예방 유지보수
(preventive maintenance)
미래의 시스템 관리르 위한 유지보수
발생 가능한 오류에 대한 대응책을 미리 SW에 적용하는 것

* 유지보수 중 완전화 유지보수 비중이 가장 높음

 

암기법 : 완적수예


2012년 48번

정답 : 2번

2)번 detective maintenace는 해당되지 않음

완전 유지보수
(perfective maintenance)
새로운 기능 추가 -> 시스템 완벽성 추구
사용자가 새로운 기능 요구
개선/패치된 알고리즘, 기능을 추가 하는 것
적응 유지보수
(adaptive maintenance)
시스템을 새환경에 적응시킴, 변경된 환경에 맞춰 새버전 구축
SW운영 환경이 변화되었을 때 이러한 새로운 환경
(변경된 HW, DB 변화 등)에 SW를 적응 시키는 것
수정 유지보수
(corrective maintenance)
잘못된 것을 수정 -> 오류를 진단하고 수정
운영중인 SW에 오류가 발생되었을 때 이를 수정하는 것
예방 유지보수
(preventive maintenance)
미래의 시스템 관리르 위한 유지보수
발생 가능한 오류에 대한 대응책을 미리 SW에 적용하는 것

* 유지보수 중 완전화 유지보수 비중이 가장 높음


2014년 47번

정답 : 1번

완전 유지보수
(perfective maintenance)
새로운 기능 추가 -> 시스템 완벽성 추구
사용자가 새로운 기능 요구
개선/패치된 알고리즘, 기능을 추가 하는 것
적응 유지보수
(adaptive maintenance)
시스템을 새환경에 적응시킴, 변경된 환경에 맞춰 새버전 구축
SW운영 환경이 변화되었을 때 이러한 새로운 환경
(변경된 HW, DB 변화 등)에 SW를 적응 시키는 것
수정 유지보수
(corrective maintenance)
잘못된 것을 수정 -> 오류를 진단하고 수정
운영중인 SW에 오류가 발생되었을 때 이를 수정하는 것
예방 유지보수
(preventive maintenance)
미래의 시스템 관리르 위한 유지보수
발생 가능한 오류에 대한 대응책을 미리 SW에 적용하는 것

* 유지보수 중 완전화 유지보수 비중이 가장 높음


2015년 35번

정답 : 2번

1)번 기능 오류 수정 -> 수정 유지보수 (다)

2)번 기능 추가 -> 완전 유지보수 (가)

3)번 아키텍처 문서와 소스코드간의 불일치 내용 수정 -> 예방 유지보수 (라)

4)번 MS-Windows에서 Linux환경 이식 -> 적응 유지보수 (나)

 

완전 유지보수
(perfective maintenance)
새로운 기능 추가 -> 시스템 완벽성 추구
사용자가 새로운 기능 요구
개선/패치된 알고리즘, 기능을 추가 하는 것
적응 유지보수
(adaptive maintenance)
시스템을 새환경에 적응시킴, 변경된 환경에 맞춰 새버전 구축
SW운영 환경이 변화되었을 때 이러한 새로운 환경
(변경된 HW, DB 변화 등)에 SW를 적응 시키는 것
수정 유지보수
(corrective maintenance)
잘못된 것을 수정 -> 오류를 진단하고 수정
운영중인 SW에 오류가 발생되었을 때 이를 수정하는 것
예방 유지보수
(preventive maintenance)
미래의 시스템 관리르 위한 유지보수
발생 가능한 오류에 대한 대응책을 미리 SW에 적용하는 것

* 유지보수 중 완전화 유지보수 비중이 가장 높음

 


2020년 44번

정답 : 1번

integrity(무결성) - 주특성 보안성(security)영역으로 불법적 변경 방지

 

개발한 소프트웨어 적응(adaptive) 유지보수의 비중이 높은 것은 새로운환경(하드웨어, 운영체계 등)에 적용이 필요하다는 것임

유지보수성(maintainability), 이식성(portability), 호환성(compatibility)영역

 

Portabiltiy(이식성) - 새로운 환경에 설치, 적응, 다른 제품으로 대체가능한 특성

Reusabiltiy(재사용성) - 주특성 유지보수성(maintainability)영역으로 개발된 제품이나 컴포넌트가 다시 사용될 수 있는 특성

Interoperability(상호운용성) - 주특성 호환성(compatability)영역으로 다른 시스템, 제품 또는 구성요소간의 정보를 교환하고 교환된 정보를 사용할 수 있는 정도

 

기성정타 (Functional suitability, completeness, correctness, appropriateness)

신성결함복구가(Reliability, maturity, Fault tolerance, recoverability, availability)

사용이해학습운영인터페이스오류접근(Usability, understandability, learnability, operability, userinterface aesthetics, user error protection, accessibility)

효율시간자원용량(Performance Efficiency, time behaviour, resource utilization, capacity)

유지분석수정시험모듈재사용(Maintainability, analyzability, modifiability, testability, modularity, reusability)

이적설치(Portability, adaptability, installability, replaceability)

호환상공상운(Compatibility, co-existence, interoperability)

보안기무부책임인증(Security, confidentiality, integrity, non-repudiation, accountability, authenticity)


2020년 49번

정답 : 1번

 

구분 세부내용
계속적 변경
Continuing change
– 소프트웨어는 계속 진화하며 요구사항에 의해 계속 변경
– 변화는 지속되기 때문에 S/E적 관리가 필요함
– 소프트웨어는 자체적 갱신 불가하며 인간 의지 개입 필요
– 다시 만드는 것보다 경제적이라고 판단되는 한 계속 변화
– 아키텍처의 무결성이 훼손되거나 서비스 패치에 대한 비용이 많이 발생할때 마이그레이션이나 리엔지니어링을 고려
복잡도증가
Increasing complexity
– 변경이 가해질수록 구조는 복잡해짐
– 시스템의 복잡도는 이를 그대로 유지하거나 줄이고자 하는 특별한 작업을 하지 않는 한 계속 증가된다.
대규모 프로그램 진화
Program evolution
– 프로그램 별로 변경되는 사항은 고유한 패턴/추세가 있음
– 변화Size, Release, Interval, Error 건수
– 복잡성을 단순화 시키려는 인간 의지의 개입
조직적 안정
Organizational Stability
– 개발 생산성이 변화에 민감하지 않고 안정적임. 작업량에 큰 변화 없음
– 개인의 생산성을 최적화 하는 것이 팀의 생산성을 최적화 하는데 필수적이지 않음
친근성 유지
Conservation of Familiarity
– 소프트웨어의 각 버전의 변화는 일정함
– 소프트웨어는 규칙적인 수행결과와 추이를 보여주기 때문에 계측 가능
시스템의 평균 성장률은 소멸될 때까지 일정함. 개발 전 단계에 걸쳐 각 버전의 변화는 거의 일정함
지속적 성장
Continuing Growth
– 소프트웨어의 Lifetime 내내, 기능 내용은 사용자 만족도를 유지하기 위해 지속적 성장(1991년 내용추가)
시스템이 실리즈 된 후에도 변경은 그 시스템이 다른 시스템으로 대체될 때 까지 지속됨
품질 저하
Declining Quality
– 변화가 지속되면서 기능은 증가하지만 품질은 저하됨
– 소프트웨어는 엄격하게 관리 및 운영되지 않거나, 환경 변화에 적응 하지 않는다면 품질은 감소함(1996년 추가)
진화하는 시스템 품질은 운영 환경의 변화에 완전히 적응하지 못하는 한 지속적으로 저하됨
피드백 시스템
Feedback System
– 피드백 형식으로 변화가 지속됨
– 진화 프로세스는 다중레벨, 다중루프, Multi-Agent 피드백 시스템을 수용하고 중요한 제품개선을 달성하기 위해 소프트웨어를 피드백으로 구성되어야 함(1996년 추가)