Part 1. 요구사항 확인 (현행시스템 분석)

Codren·2021년 3월 26일
0

정보처리기사 실기 Part 1. 요구사항 확인 ( 현행시스템 분석 )


Section 1. 소프트웨어 공학

1. HIPO

  • " 하향식 소프트웨어 개발을 위한 문서화 도구 및 기법 "
  • 가시적 도표 - 총체적 도표 - 세부적 도표
  • 구조도 - 개요 도표 (총괄 도표) - 상세도표



2. V 모델

  • " 폭포수 모델에 검증과 테스트 작업을 강조한 모델 "



3. 소프트웨어 재사용 (Software Reusability)

  • " 이미 개발되어 있는 소프트웨어의 전체 또는 일부분을 다시 사용하여 새로운 시스템을 개발하는 기법 "



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

  • " 기존 시스템을 이용하고 새로운 기능을 추가하여 소프트웨어의 성능을 향상 시켜 보다 나은 시스템을 구축하는 기법 "
  • 현재의 시스템을 변경하거나 재구조화(Restructuring)하는 것
  • 소프트웨어 위기를 개발의 생산성이 아닌 유지보수의 생산성으로 해결

    ① 분석 (Analysis)
    ② 구성=재구축=개조 (Restructuring)
    ③ 역공학 (Reverse Engineering)
    ④ 이식 (Migration)



5. 역공학 (Reverse Engineering)

  • " 소프트웨어의 분석 및 설계 정보를 재발견하거나 다시 추출하는 작업 "



Section 2. 소프트웨어 개발 방법론

1. 소프트웨어 개발 생명 주기 (SDLC)

  • " 소프트웨어를 어떻게 개발할 것인지에 대한 개발 계획과 기본 골격을 표현 및 제공 "
  • 타당섬 검사 - 계획 - 요구사항 분석 - 설계 - 구현 - 테스트 - 운영 및 유지보수 - 폐기



2. 폭포수 모델

  • " Boehm이 제시한 선형순차적인 고전적(전통적인) 개발 모델로써 각 과정의 단계가 순차적으로 진행 "



3. 프로토 타입 모델 (프로토타이핑 모델)

  • " 실제 개발될 시스템의 견본을 만들어 최종 결과물을 예측하는 모델"



4. 나선형 모델 (Spiral Model)

  • " Boehm이 제시한 반복적인 작업을 수행하는 점증적 모델이며 위험분석 단계를 포함"
  • 계획 수립 - 위험분석 - 공학적 개발 - 고객 평가



5. 애자일 (Agile) 방법론

  • " 날렵한, 재빠른 의미와 같이 소프트웨어 개발 중 설계 변경에 신속히 대응하여 요구사항을 수용 "
  • XP, SCRUM, Lean 등등



6. XP (eXtreme Programming)

  • 1999년 Kent Beck, 요구사항 변동이 심한 경우, 예측성보다는 적응성
  • 용기, 단순성, 의사소통, 피드백, 존중

    ① 짝 프로그래밍 (Pair Programming)
    ② 테스트 주도 개발 (Test Driven Development)
    ③ 지속적 통합 (Continous Intergration)
    ④ 소규모 릴리즈 (Small Release)
    ⑤ 공동 소유권 (Collective Code Ownership)



7. SCRUM

  • 스크럼 회의 (매일 10-15분)
  • Sprint 단위(30일)로 개발



8. 유지보수

  • " 개발 후 발생하는 문제점을 수정하거나 새로운 기능을 추가하는 활동 "



Section 3. 현행 시스템 파악

1. 현행 시스템 파악

  • 시스템 구성 파악 / 시스템 기능 파악 / 시스템 인터페이스 파악
  • 아키텍처 파악 / 소프트웨어 구성 파악
  • 하드웨어 파악 / 네트워크 구성 파악



2. 시스템 아키텍처

  • " 시스템의 전체 구조 및 행위 그리고 행위 원리를 나타내며 시스템이 어떻게 작동하는지 설명하는 틀 "



Section 4. 개발 기술 환경 분석

1. 플랫폼

  • " 응용 소프트웨어 프로그램을 구동시키는데 쓰이는 하드웨어와 시스템 소프트웨어의 결합을 뜻 함 "



2. 플랫폼 성능 특성 분석 항목

  • 응답시간 (Reponsse time), 생산량 (Throughtput), 가용성 (Availability), 사용률 (Utilization)



3. 운영체제 (OS)

  • " SW / HW 자원 관리 및 공통 서비스를 제공하여 사용자와의 인터페이스 기능을 수행하는 시스템 소프트웨어 "



4. DBMS

  • " 응용 프로그램과 DB의 매개체 (중재자)로써 응용 프로그램이 DB를 공유 및 접근할 수 있도록 관리하는 소프트웨어 "



5. 미들웨어

  • " 애플리케이션에 운영체제가 제공하는 서비스를 추가 및 확장하여 제공하는 SW "
  • " 두 시스템 사이 (클라이언트와 서버 등) 간의 통신을 담당하는 소프트웨어 "



6. GNU (GNU's Not Unix)

  • Unix의 상업화에 반발하여 무료 개발 및 배포하고 있는 Unix 호환 운영체제

0개의 댓글