ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 소프트웨어 개발 및 관리
    Topcit/소프트웨어 개발 2018. 6. 11. 14:53
      1. 소프트웨어 특성
        1. 하드웨어와 다른 점
          1. SW HW 비해 수정하기가 쉽다.
          2. SW 오래 쓰더라도 낡지 않지만 유지보수 비용은 HW보다 많이 소모된다.
          3. SW 비가시성으로 인해 진행 상태를 알기 어렵다.
          4. SW 요구사항을 정의하기 어렵다.
          5. 수확체증의 법칙이 적용된다.
            1. 수확체증의 법칙 : 추가 생산해도 추가 비용이 들지 않는다.
        2. 소프트웨어의 특징
          1. 투입 인력의 수와 성과가 비례하지 않다.
          2. 소프트웨어가 기기의 원가 경쟁력을 결정한다.
          3. 재사용이 가능함
        3. 소프트웨어 공학의 중요 요소
          1. 소프트웨어 공학
            1. 소프트웨어의 개발, 운용, 유지보수, 생명주기 전반을 체계적, 서술적, 정량적으로 다루는 학문
          2. 방법
            1. 구성
              1. 프로젝트 계획 수립과 추정, 시스템과 소프트웨어 분석, 자료구조, 프로그램 구조, 알고리즘, 코딩, 테스팅, 유지보수
            2.  소프트웨어 품질에 대한 일련의 평가 기준을 도입
          3. 도구
            1. 생산성, 일관성을 목적으로 사용하는 방법들을 자동화, 반자동화 시켜놓은
            2. 종류
              1. 요구 관리 도구, 모델링 도구, 형상 관리 도구, 변경 관리 도구
          4. 절차
            1. 방법과 도구를 결합하여 소프트웨어를 합리적이고 적시에 개발할 있도록 한다.
            2. 적용된 방법, 요구되는 결과물, 품질을 보증하고 변경을 조정하게 도와주는 제어, 마일스톤 등의 순서를 정의한다.
              1. 마일스톤 : 프로젝트의 진행을 평가하기 위한 이정표
          5. 사람
            1. 소프트웨어 공학에서는 많은 것들이 사람, 조직에 의해서 움직이기 때문에 사람에 대한 의존성이 상대적으로 크다.
        4. 소프트웨어 생명주기
          1. 정의
            1. 구성
              1. 타당성 검토 -> 개발 계획 -> 요구사항 분석 -> 설계 -> 구현 -> 테스트 -> 운용 -> 유지보수
            2. 목적
              1. 프로젝트 비용 산정, 개발 계획 수립
              2. 용어의 표준화
              3. 프로젝트 관리
            3. 소프트웨어 생명 주기 선정
              1. 기업에서 프로젝트의 개발 프로세스를 테일러링 하는데 중요한 활동
                1. 테일러링 : 프로젝트의 특성에 적합한 프로세스를 적용하기 위해 프로세스를 수정하는 과정
              2. 시스템 개발의 리스크, 불확실성에 대한 이해를 바탕으로 수행
                1. 선택한 모델은 리스크, 불확실성을 최소화 시킬 있어야 한다.
              3. 종류
                1. 폭포수 모델, 프로토타입 모델, 진화 모델, 증분 모델
      2. 소프트웨어 개발 소개
        1. 소프트웨어 개발
          1. 요구사항 분석
            1. 사용자의 요구를 이해하는 단계
            2. 전체 개발 과정에서 개발 비용을 감소시킬 있는 결정적인 단계
            3. 정의된 요구사항은 개발 기간, 비용의 초과, 품질저하를 미연에 방지할 있다.
          2. 설계
            1. 서브 시스템으로 이루어지는 시스템 구조를 결정, 서브 시스템들은 하드웨어, 소프트웨어 등의 구성요소에게 할당
            2. 설계는 품질에 직접적인 영향을 준다.
            3. 설계가 제대로 되지 않으면 시스템의 안정감이 저하되고 유지보수가 어려워 진다.
          3. 구현
            1. 목표
              1. 설계 명세를 기반으로 요구사항을 만족할 있도록 프로그래밍
            2. 상세 설계, 사용자 지침서에 기술된 것과 일치하도록 코딩
            3. 코딩 표준 정의가 중요
          4. 테스팅
            1. 시스템이 정해진 요구를 만족하는지, 예상과 실제 결과가 어떤 차이를 보이는지를 검사, 평가하는 과정
            2. 소프트웨어의 품질을 확보하기 위해 결함을 찾아내는 작업
            3. 소프트웨어의 품질에 대한 평가, 품질 향상을 위한 수정 작업 등이 포함된다.
        2. 소프트웨어 관리
          1. 소프트웨어 유지관리
            1. 소프트웨어는 개발중, 개발후에도 많은 변경이 필요하다.
            2. 소프트웨어는 계속적인 변경을 수용할 있도록 개발된다.
            3. 고객에게 소프트웨어가 인도되어 사용되는 과정에서 발생하는 여러 변경 사항에 대해 적응하고 변화에 대비하는 과정
          2. 소프트웨어 요구관리
            1. 요구사항을 추출, 구성, 문서화하고 변경에 대한 동의를 설정에 관리하는 활동
            2. 목적
              1. 의사소통 : 무엇을 해야 하는지, 변경사항에 대하여
              2. 협업 : 업무의 공동 수행을 위한 협업 수단
              3. 검증 : 모든 것이 계획 한대로 완료되었는지 검증
          3. 소프트웨어 형상관리
            1. 소프트웨어 개발, 유지 산출물에 대한 계획, 개발, 운용 등을 조합하여 시스템의 형상을 만들고 이에 대한 변경을 체계적으로 관리, 제어하기 위한 활동
            2. 소프트웨어 개발, 유지보수 과정 변경을 통제하는 절차는 소프트웨어 개발 과정의 산출물을 관리하고 고품질의 소프트웨어를 얻기 위해 중요하다.
          4. 소프트웨어 품질관리
            1. 소프트웨어 개발 활동이 프로젝트 계획과 일치하고 조직 정책에 적합한가를 검증하는 활동
            2. 소프트웨어 품질의 정의
              1. 주어진 요구사항을 만족시킬 있는 소프트웨어 속성의 정도
            3. 소프트웨어의 품질 특성
              1. 기능성 : 기능구현 완전성, 정확성, 상호운용성, 보안성, 표준 준수성
              2. 신뢰성 : 운용 안정성, 장애복구 용의성, 서비스 지속성, 데이터 회복성
              3. 사용성 : 기능학습 용이성, 입출력 데이터 이해도, 사용자 인터페이스 조정 가능성, 일관성
              4. 효율성 : 반응 시간, 자원 사용률, 처리율
              5. 유지보수성 : 문제진단, 해결 지원, 환경설정변경 가능성, 업데이트 용이성
              6. 이식성 : 운영환경 적합성, 설치제거 용이성, 하위 호환성
            4. 필요에 따라 품질 특성 적절한 것을 선택해 사용하고 적절한 검증 활동을 수행해야

       

       


    'Topcit > 소프트웨어 개발' 카테고리의 다른 글

    객체지향 설계 과정  (0) 2018.06.11
    소프트웨어 아키텍처 설계  (0) 2018.06.11
    소프트웨어 설계 원리  (0) 2018.06.11
    요구사항 분석과 명세화  (0) 2018.06.11
    소프트웨어 기반 기술  (0) 2018.06.11

    댓글