티스토리 뷰

소프트웨어공학 1장


소프트웨어 : 프로그램+개발,운용,보수에 필요한 정보, 지적노동의 결과, 일반제조업보다 유지보수가 어렵다. 오늘날 사회 경제분야의 소프트웨어에 대한 의존도가 크다. 닳아 없어지는 것이 아니라 소용이 없어져 못쓰게 됨.
소프트웨어특징 : 비가시성(예측불가), 테스트가능, 복잡, 변경가능, 장수, 복제가능

소프트웨어시스템 : 유기적으로 상호작용하는 개체들의 모임. 소프트웨어는 컴퓨터기반의 여러시스템과 관계를 맺고있음. 시너지발생, 역동적 발전
정보시스템 : 자료의 분류,저장,검색 관점, 데이터베이스를 대화식으로 접근, 조직의 문제해결을 위한 도구(~~시스템, ~~솔루션 등)
정보시스템특징 : 대규모자료, 정적이 아님, 시스템분석,유지보수 중요. 제작되어있는 핵심 엔진을 중심으로 커스터마이징함.
MIS : 운영,관리,의사결정을 위해 정보를 제공하는 시스템

제어시스템 : 사건을 감지하여 처리하고 자동적으로 보고
예 : 교통제어 공정제어, 항공기제어, 무기, 등.. 만드는 과정부터 커스터마이징

탑재시스템 : 계산이 주된 기능이 아닌 시스템의 한 구성요소.
특징 : 대규모, 장기사용, 테스트어려움, 벙렬,분산, 실시간제어, 엄격한요구(실시간반응, 고장에대한안전, 신뢰성에 대해)

소프트웨어 공정의 문제점 : 비용초과, 기간지연, 성능저하, 비신뢰성, 유지보수불가능, 유지보수 고비용
소프트웨어의 위기 : 소프트웨어에 대한 요구와 그 공급능력간의 차이가 갈수록 커짐.

소프트웨어공학이란 : 질좋은 소프트웨어를 경제적으로 생산하기 위해 공학 과학 수학적 원리, 방법을 적용하는 것. 개발,운용,유지보수 및 소멸에 대한 체계적인 접근방법.
목표 : 품질, 생산성

소프트웨어 공학이 다르는 주제.
  1. 방법 : 제작에 사용하는 기법, 절차
  2. 도구 : 자동화된 시스템
  3. 프로세스 : 도구와 기법을 사용하여 작업하는 순서
  4. 패러다임 : 접근방법, 스타일

소프트웨어 품질에 대한 관점.
발주자 : 최소비용, 생산성, 융통성
사용자 : 정확성, 사용용이성, 일관성
유지보수자 : 이식성, 재사용성, 유지보수성,
공통 : 신뢰성

소프트웨어의 품질항목
정확성 : 기능적으로 맞게 동작, 표준에 적합한지. 요구에 부합하는지.
신뢰성 : 주어진 기간동안 제대로 동작할 확률. 정확성의 필요조건
강인성 : 예외상황 발생시 제대로 작동하는 성질.
성능 : 수행속도, 알고리즘의 시간복잡도
사용용이성 : 얼마나 친근한가. 인터페이스 등.
유지보수성 : 정해진 기간에 결함을 해결할 수 있는 성질. 잠재적 발전가능성
재사용성 : 소프트웨어 부품(클래스,라이브러리)의 성질 (확장가능성, 적응성, 이용용이성)

프로세스 품질 : 개발하는 과정이 품질에 영향을 준다는 주장. 프로세스의 품질이 프로덕트 자체 품질못지 않게 중요하다는 입장

소프트웨어 생산성 : 프로세스에 크게 영향. 개발경험의 성숙도에 좌우.
영향요소 : 프로그래머능력, 팀의사전달, 제품복잡도, 기술수준, 관리기술

소프트웨어 라이프사이클 : 개념화->성장기->성숙기->쇠퇴기

소프트웨어 프로세스 모형
개발에 필요한 작업 : 요구분석 정의, 시스템설계, 프로그램설계, 프로그램작성, 테스트, 설치, 유지보수

폭포수모형 : 계획-요구분석-설계-구현-시험-인수설치. 피드백이 있긴 하지만, 뒤로 갈수록 수정비용 증가. 다시 타고 올라가야함. 단계별 중복, 상호작용 없음. 다음실행전 결과점검. 바로전단계피드백. 처음단계에 집중하면 뒷과정 지연, 단계전환에 많은노력, 재사용기회줄어듬, 무의미한 문서생산가능성 많음.

프로토타이핑 모형 : 요구분석-프로토타입개발개선-프로토타입평가-구현-인수설치, 요구분석-프로토타입개발개선-프로토타입평가 서로 순환됨. 요구를 정확히 추출가능, 사용자,개발자 공동의 참조모델 제공, 오해,기대심리유발, 명확한단계구분이 안되 일정관리 어려움.

점증적모형 : 빨리 만들어 출시해야할 때. 깃발을 먼저 꽂아야할 때, 릴리즈를 나눠 여러번 배포. 점증적방법(기능별 릴리즈), 반복적방법(기능의 완성도 높임), 기능이 부족하더라도 초기에 사용 교육, 시장 선점가능, 자주 릴리즈함으로서 예상치못한 문제 발견/해결가능,

나선형 모형 : 한바퀴가 한단계, 다음단계가기전 위기분석, 준비. 실패의 위험줄이고 테스트용이. 여러번 점증적 릴리즈, 계획수립-위험분석-개발-평가. 대규모개발에 적합, 반복적 분석으로 강인성 향상, 관리중요.

V모형 : 폭포수의 변형. 마주보는 서로의 단계가 제작-평가 관계로 이루어짐.

프로젝트성패에 영향요소 : 의사소통, 프로젝트 성격, 역량, 관리, 경험
의사소통 : 발주자-개발자(프로토타입, 설문 등) 개발자-개발자(문서화, 회의 등)
프로그래머의 역량 : 프로그래밍능력,커뮤니케이션능력,응용분야에대한 이해, 프로세스,도구에 대한 이해,경험.
프로젝트관리기술 : 프로그래밍 경험, 관리능력, 일정관리, 예산,인력관리, 품질관리

'2013-summer > 소프트웨어공학' 카테고리의 다른 글

소프트웨어공학 4장  (0) 2013.07.18
소프트웨어공학 3장  (0) 2013.07.08
소프트웨어공학 2장  (0) 2013.07.04
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함