본문 바로가기
정보처리기사

[소프트웨어 구축] 소트프웨어 공학 - 정보처리기사 실기 대비

by 공불러 2023. 9. 13.
728x90
반응형

[소프트웨어 구축] 소트프웨어 공학 - 정보처리기사 실기 대비 

목차

     

    소프트웨어 공학이란?

    효율적인 소프트웨어 품질을 높여 개발하기 위한 학문(사람 관리 포함)

    역사가 깊지 않아, 그 파생의 이유를 아는 것만으로 개념설명이 어렵지 않음

    3R을 중심으로 암기

     

    소프트웨워의 위기

    이해 부족

    방법론 부재

    프로그래밍만 치중

    전문적 교육이 부족

    작업일정과 비용의 추가 부족

     

     

    소프트왜어 3R

     

    역공학(Reverse Engineering)- 구현한 걸 보면서 역으로 찾아서 하는거 

    CASE 도구를 이용하여 요구 분석서, 설계서 등의 문서로 추출하는 작업
    특징

    • 이미 개발된 소프트웨어의 분석을 도와
    • 자료와 정보를 

     

    재공학(Re-engineering)  - 유지보수 쟁산성으로 다시 구축

    유지보수의 생산성으로 

    예방유지 모수 - 재공학

    분석(analysis) - 기존 소프트웨어 명세 확인

    재구성(Restructuring) - 코드 재수성, 외적기능은 변경되지 않음

    역공학(reverse Engieneering) -  소스코드를 가지고 설계 수준을 분석 -> 산출물

    이관(migration) - 기존 소프트웨어를 다른 체제, 프레임워크 등에[서 사용할 수 있도록 변환 ( aaa.com->abc.com)

     

    향상 유지보수

     

    재사용re-use - 기존에 만들었던 것을 다시 쓰는 것 Like 모듈

    이미 개발된 소프트웨어를 재사용하는 것.

    함수와 객체

    컴포넌트

    애플리케이션

     

    역재재

    합성 중심

    모듈을 만들어 끼우는 것

     

    생성중심

    추상화 형태로 쓰여진 명세를 구체화하여 프로그램을 만드는 것

     

     

    스프트웨어 개발 단계

    계요설구테유

    계획- 요구사항 분석 설계, 구현, 테스트, 유지보수

     

    계획

    • 개발 범위 결정
    • 무엇을 개발할지 정의
    • 시스템의 성격 파악을 위한 비용 및 기간을 예측
    • 제안서 (RFP)

    요구사항 분석

    실제 개발회사에 웹서비스 구축을 의뢰하는 많은 고객들은 자신들이 만들고 싶어하는 서비스가 뭔지 정확히 모르는 경우가 있다.

     

    • 제약조건, 목표 정의
    • 협상, 조율
    • 이해 및 요구사항 유도
    • 적합성 검토 및 향후 예측
    • 실행화녁에 대한 확ㅇㄴ

     

    설계

    소프트웨어설계란 동작을 정의

    모델링

    설계구분

    • 시스템 구조 (
    • 사용자 인터페이스

     

    구현

    • 프로그래밍 언어를 이용하여 실제 프로그램을 작성
    • 코딩과 디버깅이 이루어지며, 단위 테스트를 진행

    테스트

    - 구현된 소프웨어를 테스트

     

    유지보수

    - 위 과정에서 찾지못한 오류나 변경사항을 적용하는 단계

     

     

     

     

     

     

    728x90
    반응형

    댓글