티스토리 뷰
▶ 소프트웨어 생명주기
소프트웨어를 개발 하기 위한 설계, 운용, 유지보수등의 과정을 각 단계별로 나눈것
▶ 소프트웨어 생명 주기 모델 종류
폭포수 모형 Waterfall Model |
각 단계를 확실히 매듭짓고 그 결과를 철저하게 검토하여 승인 과정을 거친 후에 다음단계를 진행하는 개발방법론 |
프로토타입 모형 prototype Model |
실제 개발될 소프트웨어에 대한 견본품을 만들어 최종 결과물을 예측하는 모형 |
나선형모형= 점진적 모형 Sprial Model |
나선을 따라 돌듯이 여러 번의 소프트웨어 개발 과정을 거쳐 점진적으로 완벽한 최종 소프트웨어를 개발하는 모형 보헴이 제안 (4가지 주요활동) 계획수립→ 위험분석→ 개발 및 검증 → 고객평가 |
애자일 모형 Agile Model |
요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발하는 모형 (종류) 스크럼, XP, 칸반, Lean, 기능중심개발(FDD) |
▶ 소프트웨어 공학
소프트웨어의 위기를 극복하기 위한 방안으로 연구된 학문
▶ 스크럼(Scrum)
팀이 중심이 되어 개발의 효율성을 높이는 기법
제품 책임자 PO product Owner |
요구 사항이 담긴 백로그를 작성하는 주체 이해 관계자들 중 개발될 제품에 대한 이해도가 높고, 요구사항을 책임지고 의사를 결정할 사람으로 선정 |
스크럼 마스터 SM Scrum Master |
스크럼 팀이 스크럼을 잘 수행할 수 있도록 가이드 역할을 수행함 |
개발팀 DTDevelopment Team | 제품 책임자와 스크럼 마스터를 제외한 모든 팀원으로 제품 개발을 수행함 |
스프린트계획회의 → 스프린트 → 일일스크럼회의→ 스프린트 검토회의 → 스프린트 회고
▶ XP (eXterme Programming)
수시로 발생하는 고객의 요구사항에 유연하게 대응하기 위해 고객의 참여와 개발 과정의 반복을 극대화하여 개발 생산성 향상시키는 방법
▶XP 5대 핵심가치 (의, 단, 용, 존, 피)
의사소통 Communication
단순성 Simplicity
용기 Courage
존중 Respect
피드백 FeedBack
(xp개발프로세스) 릴리즈 계획수립 → 주기 → 승인검사 → 소규모릴리즈
▶ 소프트웨어 공학에서 리팩토링 목적
프로그램을 쉽게 이해하고 수정하여 빠르게 개발 할 수 있도록 하기위함
▶ xp주요 실천방법
Pair Programming 짝 프로그래밍 |
다른 사람과 함께 프로그래밍을 수행함으로써 개발에 대한 책임을 공동으로 나눠 갖는 환경을 조성함 |
Collective Ownership 공동 코드 소유 |
개발 코드에 대한 권한과 책임을 공동으로 소유함 |
Test-Driven Development 테스트 주도 개발 |
- 개발자가 실제 코드를 작성하기 전에 테스트 케이스를 먼저 작성 하므로 자신이 무엇을 해야할지를 정확히 파악함 - 테스트가 지속적으로 진행 될 수 있도록 자동화된 테스팅 도구 (구조, 프레임워크)를 사용함 |
Whole Team 전체 팀 |
개발에 참여하는 모든 구성원(고객 포함)들은 각자 자신의 역할이 있고 그 역할에 대한 책임을 가져야 함 |
Continuous Integration 계속적인 통합 |
모듈 단위로 나눠서 개발된 코드들은 하나의 작업이 마무리 될 때마다 지속적으로 통합됨 |
Refactoring 리팩토링 |
프로그램 기능의 변경없이 시스템을 재구성함 목적 : 프로그램을 쉽게 이해하고 쉽게 수정하여 빠르게 개발할 수 있도록 하기 위함. |
Small Releases 소규모 릴리즈 |
릴리즈 기간을 짧게 반복함으로써 고객의 요구 변화에 신속히 대응할 수 있음. |
▶ 서버 이중화(Replication)
운용서버에 장애가 발생 했을 때 대기 서버에서 서비스를 계속 유지 할 수 있도록
운용 서버의 자료 변경이 대기 서버에도 동일하게 복제되도록 관리하는 것을 의미
▶ 운영체제(OS, Operationg System)
컴퓨터 시스템의 자원을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효율적으로 사용할 수 있도록 환경을 제공하는 소프트웨어
▶ 데이터베이스 관리시스템 (DBMS DataBase Management System)
사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고, 데이터베이스를 관리해 주는 소프트웨어
▶ 웹 애프리케이선 서버 ( WAS web Application Server)
동적인 콘텐츠를 처리하기 위해 사용되는 미들웨어
▶ 오픈소스(Open Source)
누구나 별다른 제한없이 사용할 수 있도록 소스 코드를 공개한 소프트웨어
▶ 요구사항
소프트웨어가 어떤 문제를 해결하기 위해 제공하는 서비스에 대한 설명과 정상적으로 운영되는데 필요한 제약조건
▶ 요구사항
기능 요구사항 | 기능이나 수행과 관련된 요구사항 |
비기능 요구사항 | 품질이나 제약 사항과 관련된 요구사항 |
사용자 요구사항 | 사용자 관점에서 본 시스템이 제공해야 할 요구사항 |
시스템 요구사항 | 개발자 관점에서 본 시스템 전체가 사용자와 다른 시스템에 제공해야할 요구사항 |
▶ 요구사항 개발 프로세스(도분명확)
도출 → 분석 → 명세 → 확인
▶ 요구사항 도출
시스템 개발에 관련된 사람들이 서로 의견을 교환하여 요구사항을 어떻게 수집할 것인지를 식별하고 이해하는 과정
소프트웨어 개발 생명주기(SDLC) 동안 지속적으로 반복된다.
▶ 요구사항 분석
개발 대상에 대한 사용자의 요구사항을 이해하고 문서화 하는 활동
▶ 요구사항 명세
분석된 요구사항을 바탕으로 모델을 작성하고 문서화 하는것
정형 명세기법 : 수학적 기호, 정형화된 표기법. 종류(VDM, Z, Petri-net, CSP)
비정형 명세기법 : 일반 명사, 동사 등의 자연어를 기반으로 서술 또는 다이어그램으로 작성. 종류(FSM, Decision Table, ER모델링, State Chart(SADT) 등.
▶ 요구사항 확인(요구사항 검증)
요구사항 명세서가 정확하고 완전하게 작성되었는지 검토하는 활동
▶ 요구사항 공학
요구사항을 정의하고, 분석 및 관리하는 프로세스를 연구하는 학문
▶ 자료 흐름도 DFD
자료의 흐름 및 변환 과정과 기능을 도형 중심으로 기술하는 방법
▶ 자료흐름도 4가지 구성요소
프로세스 (Process) |
자료를 변환 시키는 시스템의 한 부분을 나타내며 처리, 기능, 변환, 버블이라고도 함. |
자료 흐름 (Data Flow) |
자료의 이동(흐름)이나 연관 관계를 나타냄 |
자료 저장소 (Data Store) |
시스템에서의 자료 저장소(파일, 데이터베이스)를 나타냄 |
단말 (Terminator) |
시스템과 교신하는 외부 개체로 입력 데이터가 만들어지고 출력 데이터를 받음. |
▶ 구조적 분석 기법도구
자료흐름도 DFD / 자료사전 DD / 소단위 명세서 / 개체관계도 ERD / 상태 전이도 STD / 제어명세서
▶ 자료 사전(Data Dictionary)
자료 흐름도에 있는 자료를 더 자세히 정의하고 기록한 것.
= 자료정의 / + 자료 연결 / () 자료의 생략 / [] 자료의 선택 / {} 자료의 반복
▶ SADT
SoftTech사에서 개발한 것으로, 구조적 요구 분석을 하기 위해 블록 다이어그램을 채택한 자동화 도구
▶ HIPO chart 종류
가시적 도표 / 총체적 도표 / 세부적도표
▶ UML
시스템 개발 과정에서 의사소통이 원활하게 이루어지도록 표준화한대표적인 객체지향 모델링 언어
▶ UML 구성요소
사물 Things / 관계 Relationships / 다이어그램 Diagram
▶ UML - 사물 Things
구조 사물 | 시스템의 개념적, 물리적 요소를 표현 |
행동 사물 | 시간과 공간에 따른 요소들의 행위를 표현 |
그룹 사물 | 요소들을 그룹으로 묶어서 표현 |
주해 사물 | 부가적인 설명이나 제약조건 등을 표현 |
▶ UML - 관계 Relationships
사물과 사물 사이의 연관성을 표현하는 것
연관 관계 Association |
2개 이상의 사물이 서로 관련되어 있는 관계 | 선생님 | ━━ | 학생 |
집합 관계 Aggregation |
하나의 사물이 다른 사물에 포함되어있는 관계 | 컴퓨터 | ◇━━ | 프린터 |
포함 관계 Composition |
포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계 | 문 | ◆━━ | 키 |
일반화 관계 Generalization |
하나의 사물이 다른 사물에 비해 더 일반적이거나 구체적인관계 | 아메리 카노 |
━━▷ | 커피 |
의존 관계 Dependency |
서로에게 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계 | 등급 | -----〉 | 할인율 |
실체화 관계 Realization |
사물이 할 수 있거나 해야하는 기능으로 서로를 그룹화 할 수 있는 관계 | 새 | -----▷ | 날수 있다 |
▶ UML - 다이어그램 Diagram
사물과 관계를 도형으로 표현한 것
▶ 구조적 다이어그램 종류
클래스 다이어그램 Class |
클래스와 클래스가 가지는 속성, 클래스 사이의 관계를 표현함 |
객체 다이어그램 Object |
클래스에 속한 사물(객체)들 , 즉 인스턴스를 특정 시점의 객체와 객체 사이의 관계로 표현함 럼바우 객체지향 분석기법에서 객체 모델링에 활용 |
컴포넌트 다이어그램 Component |
실제 구현 모듈인 컴포넌트 간의 관계나 컴포넌트간의 인터페이스를 표현함 구현 단계에 사용됨 |
배치 다이어그램 Deployment |
결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현함 구현 단계에 사용됨 |
복합체 구조 다이어그램 Composite |
클래스나 컴포넌트가 복합 구조를 갖는 경우 그 내부 구조를 표현함 |
패키지 다이어그램 Pacage |
유스케이스나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계를 표현함 |
▶ 행위 다이어 그램의 종류
유스케이스 다이어그램 Use Case |
사용자의 요구를 분석하는 것으로, 기능 모델링 작업에 사용 사용자(Actor)와 사용 사례(Use Case)로 구성됨 |
시퀀스 다이어그램 Sequence |
상호 작용하는 시스템이나 객체들이 주고 받는 메시지를 표현 (구성요소) 액터, 객체, 생명선, 실행상자, 메시지, 객체소멸, 프레임 |
커뮤니케이션 다이어그램 Communication |
동작에 참여하는 객체들이 주고 받는 메시지와 객체들 간의 연관 관계를 표현 |
상태 다이어그램 State |
하나의 객체가 자신이 속한 클래스의 상태 변화 혹은 다른 객체와의 상호 작용에 따라 상태가 어떻게 변화하는 지를 표현함. 럼바우 객체지향 분석기법의 동적리모델링에 활용 |
활동 다이어그램 Activity |
시스템이 어떤 기능을 수행하는지 객체의 처리 로직이나 조건에 따른 처리의 흐름을 순서에 따라 표현함. |
상호작용 개요 다이어그램‘ Interaction Overview |
상호작용 다이어그램 간의 제어 흐름을 표현 |
타이밍 다이어그램 Timing |
객체 상태 변화와 시간 제약을 명시적으로 표현 |
▶ 스테레오 타입 << >>
UML에서 표현하는 기본 기능 외의 추가적인 기능을 표현하는 것
<<include>> | 연결된 다른 UML 요소에 대해 포함관계에 있는 경우 |
<<extends>> | 연결된 다른 UML 요소에 대해 확장관계에 있는 경우 |
<<interface>> | 인터페이스를 정의하는 경우 |
<<exception>> | 예외를 정의하는 경우 |
<<constructor>> | 생성자 역할을 수행하는 경우 |
▶ 유스케이스 다이어그램 구성요소
시스템(System)/시스템 범위(System Scope), 액터(Actor) , 유스케이스(Use Case),
관계(Relationship)
▶ 소프트웨어 재사용(Software Reuse)
이미 개발되어 인정받은 소프트웨어를 다른 소프트웨어 개발이나 유지에 사용하는 것.
합성 중심 | 전자칩과 같은 소프트웨어 부품, 즉 블록을 만들어서 끼어 맞춰 소프트웨어를 완성시키는 방법. 블록 구성 방법이라고도 함 |
생성 중심 | 추상화 형태로 써진 명세를 구체화해 프로그램을 만드는 방법으로, 패턴 구성 방법이라고도 함. |
▶ 소프트웨어 재공학
기존시스템을 이용해 보다 나은 시스템을 구축하고, 새로운 기능을 추가하여 소프트웨어 성능을 향상시키는 것.
▶ CASE(Computer Aided Software Engineering)
소프트웨어 개발 과정에서 사용되는 요구 분석, 설계, 구현, 검사 및 디버깅 과정 전체 또는 일부를 컴퓨터와 전용 소프트웨어 도구를 사용해 자동화 하는 것.
▶ LOC 기법 ★★★
- 노력(인월) = 개발 기간 x 투입 인원
= LOC / 1인당 월평균 생산 코드 라인수
- 개발 비용 = 노력(인월) X 단위 비용(1인당 월 평균 인건비)
- 개발 기간 = 노력(인월) / 투입 인원
- 생산성 = LOC / 노력(인월)
▶ cocomo 소프트웨어 개발 모형 ★★
조직형 Organic Mode |
5만 라인(50KDSI)이하의 소프트웨어를 개발하는 유형. 사무 처리용, 업무용, 과학용 응용 소프트웨어 개발에 적합 |
반분리형 Semi-Detached Mode |
조직형과 내장형의 중간형으로 30만(300KDSI) 라인 이하의 소프트웨어를 개발하는 유형. 컴파일러, 인터프리터와 같은 유틸리티 개발에 적합 |
내장형 Embeded Mode |
30만(300KDSI) 라인 이상의 소프트웨어를 개발하는 유형. 신호기 제어 시스템, 미사일 유도 시스템, 실시간 처리 시스템 등의 시스템 프로그램 개발에 적합 |
▶ 수학적 산정 기법 ★★
COCOMO | 보헴이 제안 LOC(원시 코드 라인 수)에 의한 비용 산정 기법 |
Putnam | 소프트웨어 생명주기의 전 과정 동안에 사용될 노력의 분포를 가정해주는 모형. 생명 주기 예측 모형 Rayleigh-Norden 곡선의 노력 분포도를 기초로 함 |
기능 점수(FP) | 알브레히트(Albrecht)가 제안 소프트웨어의 기능을 증대시키는 요인 별로 가중치를 부여하고, 요인별 가중치를 합산해 총 기능 점수를 산출해 기능 점수를 구한다. |
▶ 비용 산정 자동화 추정 도구 ★★
SLIM | Rayleigh-Norden 곡선과 Putnam 예측 모델을 기초로 한 자동화 추정 도구 |
ESTIMACS | 다양한 프로젝트와 개인별 요소를 수용하도록 FP 모형을 기초로해 개발된 자동화 추정 도구 |
▶ 프로젝트 일정 계획 ★★★
PERT (프로그램 평가 및 검토 기술) |
프로젝트에 필요한 전체작업의 상호 관계를 표시하는 네트워크 |
CPM (임계 경로 기법) |
프로젝트 완성에 필요한 작업을 나열하고 작업에 필요한 소요 기간을 예측하는데 사용하는 기법 |
간트 차트 | 프로젝트의 각 작업들이 언제 시작하고, 언제 종료되는지에 대한 작업 일정을 막대 도표를 이용해 표시하는 프로젝트 일정표. |
▶ 소프트웨어 개발 표준 ★★
CMMI (능력성숙도통합모델) |
소프트웨어 개발 조직의 업무 능력 및 조직의 성숙도를 평가하는 모델 |
SPICE (Software Process Improvement and Capability dEtermination) |
소프트웨어 개발 표준 중 소프트웨어의 품질 및 생산성 향상을 위해 소프트웨어 프로세스를 평가 및 개선하는 국제 표준으로, 공식 명칭은 ISO/IEC 15504 불완전→ 수행→ 관리→확립→예측→최적화 |
▶ 소프트웨어 개발 프레임워크
스프링 프레임워크 | 자바 플랫폼을 위한 오픈 소스 경량형 애플리케이션 프레임워크 |
전자정부 프레임워크 | 대한 민국의 공공부분 정보화 사업시 효율적인 정보 시스템의 구축을 지원하기 위해 필요한 기능 및 아키텍처를 제공하는 프레임워크 |
닷넷 프레임워크 | Window 프로그램의 개발 및 실행 환경을 제공하는 프레임워크 |
'WEB > 기타' 카테고리의 다른 글
정보처리 기사 요약 정리 - 3장 통합구현 / 4장 서버 프로그램구현 (0) | 2024.07.12 |
---|---|
정보처리기사 요약 정리 - 2장 데이터 입출력구현 (1) | 2024.07.12 |
VS Code 설치 (0) | 2024.07.12 |
자바스크립트 (0) | 2024.07.12 |
2024년 적용 SW기술자 평균임금 공표 (조사년도 2023년) (0) | 2024.07.11 |
- Total
- Today
- Yesterday
- 파비콘사이즈
- ajax
- 정보처리기사 #정보처리기사요약 #정보처리기사요점정리
- 자바스크립트break
- 썬크림 #닥터지썬크림 #내돈내산 #내돈내산썬크림 #썬크림추천 #spf50썬크림 #닥터지메디유브이울트라선
- 자바스크립트countiue
- 와이파이신호 #와이파이 #와이파이신호세게
- SQL명령어 #SQL
- 테스크탑무선랜카드 #무선랜카드 #아이피타이무선랜카드 #a3000mini #무선랜카드추천
- 파비콘 #파비콘 사이트에 적용
- jdk #jre
- 와이파이약할때
- echart
- sw기술자평균임금 #2025년 sw기술자 평균임금
- 자바스크립트정규표현식
- css미디어쿼리 #미디어쿼리 #mediaquery
- thymeleaf
- 와이파이증폭기추천 #와이파이설치
- 자바스크립트 #javascript #math
- 증폭기 #아이피타임증폭기
- 좋은책 #밥프록터 #부의원리
- 좋은책
- 바지락칼국수 #월곡동칼국수 #칼국수맛집
- lg그램pro #lg그램 #노트북 #노트북추천 #lg노트북
- 광주분식 #광주분식맛집 #상추튀김 #상추튀김맛집 #광주상추튀김
- 연명의료결정제도 #사전연명의료의향서 #사전연명의료의향서등록기관 #광주사전연명의료의향서
- jQuery #jQuery이미지슬라이드 #이미지슬라이드
- 쇼팬하우어 #좋은책
- 무료폰트 #무료웹폰트 #한수원한돋움 #한수원한울림 #한울림체 #한돋움체
- iptime와이파이증폭기 #와이파이증폭기설치
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |