2023 동계 모각코

[2023.12.30 (토)] 모각코 2회

든든든든 2023. 12. 31. 17:55

학습 목표 : 정보처리기사 공부

 

01 재공학

 

소프트웨어 재공학(Software Reengineering)

소프트웨어 위기를 개발의 생산성이 아닌 유지보수의 생산성으로 해결하려는 방법

현재의 시스템을 변경하거나 재구조화(Restructuring)

 

재구조화(Restructuring)

재공학의 한 유형으로 사용자의 요구사항이나 기술적 설계의 변경 없이 프로그램을 개선하는 것

가장 연관 깊은 유지보수 유형 : 예방 유지보수(Preventive Maintenance)

 

재공학의 장점

개발 시간 및 비용 감소, 품질 향상, 생산성 향상, 신뢰성 향상, 구축 방법에 대한 지식의 공유, 프로젝트 실패 위험 감소

 

재공학의 과정

분석 -> 구성 -> 역공학 -> 이식 

 

역공학(Reverse Engineering)

소프트웨어를 분석하여 소프트웨어 개발 과정과 데이터 처리 과정을 설명하는 분석 및 설계 정보를 재발견 또는 다시 만들어내는 작업

 

CASE(Computer Aided Software Engineering)

소프트웨어 개발 과정에서 사용되는 요구분석, 설계, 구현, 검사 및 디버깅 과정을 컴퓨터와 전용 소프트웨어 도구를 사용하여 자동화하는 작업

 

CASE 사용의 장점

소프트웨어 개발 시간 단축 및 개발 비용 절약 -> 생산성 향상

 

CASE의 분류

상위(Upper) CASE : 요구분석 및 설계 단계 지원

하위(Lower) CASE : 소스 코드 작성, 테스트, 문서화 과정 지원

통합(Integrate) CASE : 소프트웨어 개발 주기 전체 과정 지원

 

03 소프트웨어 개발 방법론

 

소프트웨어 생명주기(Software Life Cycle)

소프트웨어 제품의 개념 형성에서 시작하여 운용/유지보수에 이르기까지 변화의 모든 과정

타당성 검토 -> 개발 계획 -> 요구사항 분석 -> 설계 -> 구현 -> 테스트 -> 운용 -> 유지보수

 

폭포수 모형(Waterfall Model)

소프트웨어 개발 과정의 각 단계가 순차적으로 진행되는 모형

 

나선형 모형(Spiral Model)

반복적인 작업을 수행하는 점증적 생명주기 모형

점증적 모형, 집중적 모형이라고도 하며 유지보수 과정 X

소프트웨어 개발 중 발생할 수 있는 위험을 관리하고 최소화하는 것이 목적

나선을 따라서 돌아가며 각 개발 순서를 반복하여 수행하는 점진적 방식으로 누락된 요구사항 추가 가능

 

하향식 설계

소프트웨어 설계 시 제일 상위에 있는 Main User Function에서 시작하여 기능을 하위 기능들로 나눠 가며 설계하는 방식

상향식 설계

가장 기본적인 컴포넌트를 먼저 설계한 다음 이것을 사용하는 상위 수준의 컴포넌트를 설계하는 방식

 

프로토타입 모형(Prototype Model)

실제 개발될 시스템의 견본(Prototype)을 미리 만들어 최종 결과물을 예측하는 모형

개발이 완료되고 나서 사용을 한 후 문제점을 알 수 있는 폭포수 모형의 단점 보완

 

HIPO(Hierearchy Input Process Output)

입력, 처리, 출력으로 구성되는 시스템 분석 및 설계와 시스템 문서화용 기법

가시적 도표, 총체적 다이어그램, 세부적 다이어그램으로 구성

가시적 도표는 전체적인 기능과 흐름을 보여주는 구

구조도, 개요, 도표, 상세 도표로 구성

하향식 소프트웨어 개발을 위한 문서화 도구

 

V-모델

폭포수 모형에 시스템 검증과 테스트 작업을 강조한 모델