1)    소프트웨어의 이해

A.    Smart 시대, 그리고 소프트웨어의 영향력

                          i.    혁신 제품 및 서비스는 소프트웨어 경쟁력에 달려 있음

                         ii.    소프트웨어 경쟁력이 커짐에 따라 복잡도가 기하급수적으로 증가함

                        iii.    기업 간 경쟁으로 인한 납기 일정 단축 및 고품질 요구로, 소프트웨어 개발 이슈와 과제가 증가함.


B.    소프트웨어 특성

                          i.    H/W보다 수정이 용이함

                         ii.    지속적인 결함 및 기능 수정으로, 유지보수 비용이 H/W보다 많이 소요됨

                        iii.    비가시성으로 인해 개발 진행 상태를 알기 어려움

                        iv.    요구사항을 정의하기 어려움

                         v.    인력의 질적 역량(Quality)이 중시

                        vi.    기기의 원가 경쟁력을 결정

                       vii.    추가 생산을 위한 원자재 소모 불필요

                      viii.    유형자원 소비 없이 무한대 재사용 가능


C.    소프트웨어 공학 요소 및 생명주기

                       i.     소프트웨어 공학의 4가지 요소 : 방법, 도구, 사람, 절차

                       ii.    소프트웨어 생명주기 : 사용자 환경 및 문제점 이해에서 시작하여 운용·유지 보수에 이르기까지의 모든 과정

1.    일반적인 소프트웨어 생명주기

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

B.    요구사항 분석

    i.    사용자 또는 소프트웨어요구사항을 정의하고 명세

C.    구현

                                       i.    명세된 요구사항을 물리적으로 1차 구현

D.    테스팅

                                             i.    구현된 소프트웨어가 설계, 명세, 요구사항에 맞게 구동되는지 검증


D.    소프트웨어 관리 소개

                       i.     소프트웨어 유지 관리

1.     소프트웨어가 출시 된 후 운영되면서 발생되는 문제점, 기능 변경/개선 요청 등을 운영 소프트웨어에 반영하는 활동

2.     소규모 소프트웨어 개발 활동으로 볼 수 있음

                      ii.     소프트웨어 요구 관리

1.     요구사항을 추출, 정의, 문서화하여 프로젝트 이해당사자와 협의 및 합의하고, 개발 산출물 간 추적성을 유지하여 변경 발생 시 효과적으로 대응


E.    소프트웨어 관리 소개

                       i.     소프트웨어 형상 관리

1.     소프트웨어 생명주기 상에서 소프트웨어 형상의 무결성을 유지하고 형상 변경을 통제 및 관리함

                      ii.     소프트웨어 품질 관리

1.     정의된 소프트웨어 품질 속성을 보증하는 활동

2.     고품질의 소프트웨어가 개발될 수 있도록 품질 관점에서 수행

복사했습니다!