![[과제]_Activity network와 Bar chart 과제](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/Ba4kH/btrEn9SF4mr/6Bvo4u7m8Rp3cPUSAsppdK/img.png)
[과제]_Activity network와 Bar chart 과제
문제1. 문제2. 문제3.
- [전공] 학교 전공 공부/[학교] 소프트웨어 공학
- · 2022. 6. 10.
728x90
문제1. 문제2. 문제3.
Ch25. 형상 관리 📌 [교재] 소프트웨어 공학 10판 [형상 관리] : Configuration management ✅소프트웨어 시스템은 개발과 사용 중에 변경됨 오류 수정, 요구사항 변경, 플랫폼 변경 시스템은 버전들의 집합, 각 버전을 유지하고 관리 ✅형상 관리는 변화하는 시스템을 관리하기 위한 정책, 프로세스, 도구와 관련 각 시스템 버전에 어떤 변경이 반영되었는지, 어떤 컴포넌트 버전이 포함되었는지 관리 개발 팀에 개발 중인 시스템에 대한 접근을 제공하고 코드에 수행한 변경을 관리 여러 개발자들이 동시에 작업하는 팀 프로젝트에서 필수적 (Git) [형상 관리의 4가지 활동] Configuration management activities ✅버전관리 : 컴포넌트의 버전을 관리 ✅시스템 구축 : ..
Ch23. 프로젝트 계획 수립 📌 [교재] 소프트웨어 공학 10판 [프로젝트 계획] Project planning ✅프로젝트 계획 작업을 작은 단위로 나눔(WBS : work breakdown structure) 프로젝트 팀 멤버들(자원)에 할당 문제를 예측하고 잠정적(tentative) 해결책을 준비 ✅프로젝트 계획을 수립하는 시기 (프로젝트 생명주기 세 단계) 제안 단계 : 작업을 완수할 수 있는 자원을 가지고 있는지 판단, 제안 가격을 계산 프로젝트 시작 단계 : 프로젝트를 작업으로 나눔. 자원을 프로젝트에 할당 프로젝트 진행 중 : 계획 수정, 요구사항 변경에 따른 작업분해구조 변경, 일정 조정 ✅제안 단계 완전한 요구사항이 없으므로 예측에 근거하여 계획 수립 소프트웨어 프로젝트의 제안 가격 책정..
Ch18. 서비스 지향 소프트웨어 공학 📌 [교재] 소프트웨어 공학 10판 [웹 서비스] : Web Services ✅웹 서비스 다른 프로그램이 사용 가능하게 한 계산 및 정보자원을 위한 표준 서비스는 서비스를 사용하는 애플리케이션과 독립적 서비스 제공자는 조직 외부의 사용자에게 서비스를 제공 ✅A Web Service is : 서비스가 독립적이고 느슨하게 연결 외부 컴포넌트에 의존하지 않음, 서비스 기능과 매개변수 HTTP, SOAP 등 인터넷과 XML 기반 프로토콜을 이용하여 접근 플랫폼 및 구현 언어에 독립적 ✅서비스 지향 접근법의 장점 조직 내부나 외부의 서비스 제공자에 의해 제공 서비스에 대한 정보가 공개되어 있으며 권한이 있으면 누구나 사용 배치(deploy) 또는 실행 시까지 서비스 바인딩 ..
Ch17. 분산 소프트웨어 공학 📌 [교재] 소프트웨어 공학 10판 [분산 시스템] : Distributes systems 최근 대부분의 컴퓨터 기반 시스템이 분산 시스템 ✅분산 시스템의 장점 ▷자원 공유(resource sharing) 하드웨어 및 소프트웨어 자원을 공유 ▷개방성(openness) 표준 인터넷 프로토콜을 준수, 여러 공급업체의 장비와 소프트웨어 사용 ▷동시성(concurrency) 여러 프로세스들이 동시에 수행 ▷확장성(scalability) 새로운 자원을 추가하여 처리 능력(throughput)을 올림 ▷결함 내성(fault tolerance) 결함이 발생하였을 때에도 서비스를 제공할 수 있는 능력 ✅분산 시스템은 중앙 집중 시스템보다 더 복잡 설계, 구현, 테스트가 어려움 복잡성으로..
Ch15. 소프트웨어 재사용 📌 [교재] 소프트웨어 공학 10판 [소프트웨어 재사용] : Software reuse ✅재사용의 이점 신속한 개발, 높은 품질(확실성), 비용 절감, 리스크(risk) 감소, 표준(standards) 준수 등 ✅재사용의 단위 ▷ 시스템 재사용 : 여러 개의 애플리케이션으로 구성된 전체 시스템 재사용 ▷ 애플리케이션 재사용 : 애플리케이션 변경 없이 다른 시스템에 통합시키거나 설정하여 재사용 ▷ 컴포넌트 재사용 ; 객체, 서브시스템 등 컴포넌트를 재사용 ▷ 객체와 함수의 재사용 : 라이브러리 객체 및 함수 ✅개념 재사용 코드를 재사용하는 대신 소프트웨어의 기본적 아이디어를 재사용 디자인 패턴, 아키텍처 패턴 등 ✅재사용의 문제점 컴포넌트 라이브러리의 생성 및 관리 비용 재사용..
Ch12. 안전성 공학 📌 [교재] 소프트웨어 공학 10판 [안전성] Safety ✅안전성(safety) ★(용어 정의) : 사람이나 환경에 피해를 주지 않는 속성 ‘사람’의 사망이나 부상(피해)을 초래할 위험이 없고 시스템 (자연)‘환경’에 대한 손상 없이 (정상 또는 비정상적으로) 작동하는 시스템의 능력을 반영하는 속성 ✅안전성에 대한 다른 정의 수용할 수 없는 리스크가 없는 것 (freedom from unacceptable risk) - 외부로부터의 침해행위가 없는 상태에서 소프트웨어의 내부적인 오작동 및 안전기능 마비 등으로 인하여 발생할 수 있는 사고로부터 사람의 생명이나 신체에 대한 위험에 충분한 대비가 되어 있는 상태 [Unsafe reliable systems] p353 ✅안전성과 신뢰성..
Ch10. 확실성 있는 시스템 📌 [교재] 소프트웨어 공학 10판 [시스템 확실성] System dependability ✅소프트웨어 시스템을 신뢰할 수 있어야 함 ✅확실성 가용성(availability), 신뢰성(reliability, 안전성(safety), 보안성(security) 등 시스템 특성 ✅확실성이 중요한 이유 시스템 장애가 많은 사람들에게 영향 신뢰할 수 없고 안전하지 않고 보안성이 없는 시스템은 사용 불가 막대한 시스템 장애 비용 시스템의 정보 손실로 인한 피해 ✅중대한 시스템(critical system) 시스템 장애가 사람이나 환경에 피해를 주거나 큰 경제적 손실을 줄 수 있는 시스템 안전성 중심 시스템, 임무 중심 시스템, 비즈니스 중심 시스템 ✅확실성이 높지 않아도 유용한 소프트웨..
Ch09. 소프트웨어 진화 📌 [교재] 소프트웨어 공학 10판 [소프트웨어 변경] Software change ✅소프트웨어 변경은 불가피함 SW를 사용하면서 새로운 요구사항이 생김 변화하는 비즈니스 환경에 적응 운영 중 발견된 오류를 수정 하드웨어와 소프트웨어 플랫폼이 변화 성능이나 신뢰성 등 비기능적 특성 개선 ✅소프트웨어 진화의 중요성 조직의 소프트웨어는 중요한 비즈니스 자산 자산의 가치를 유지하기 위해서는 변경이 필요함 대규모 기업은 기존 시스템 유지보수에 더 많은 비용을 지출 (소프트웨어 비용은 60% 이상이 진화 비용) 9.1 진화 프로세스 [진화 프로세스] Evolution processes ✅진화 프로세스는 다음의 영향을 받음 소프트웨어의 유형 조직의 소프트웨어 개발 프로세스 관영하는 사람의..
@Test 인식 오류 문제 @Test 인식 오류 문제 해결 - 에러 원인은 Java 9 이전 버전에서 module을 사용하지 않는데, module-info.java에서 module을 사용하고 있기 때문에 생긴 것. - (1) 빌드 Path에 JUnit5 라이브러리를 추가해야 JUnit 테스트 수행 가능하다. (2) module-info.java 속 내용은 아래와 같이 작성해야 한다. module JUnit_Test5 { requires org.junit.jupiter.api; } 오류가 사라졌다. [JUnit 사용 준비] 1. new -> JUnit Test Case 클릭하여 TestCase 를 생성 2. Properties 의 Java Build Path 중 모듈 단위에서 Library Add 추가 -..
Ch08. 소프트웨어 테스팅 📌 [교재] 소프트웨어 공학 10판 [프로그램 테스팅] Program testing ✅[테스팅 2가지 목적] 검증 테스팅: 프로그램이 의도대로 수행되는지 보여줌 결함 테스팅 : 프로그램 사용 전 결함 발견 ✅[프로그램 테스팅] 인위적인 데이터 이용하여 프로그램 실행시키고 실행 결과 점검 ✅테스팅은 오류 존재 밝힐 수 있지만 오류가 없음을 보일 수 없음 [검증 테스팅] : validation testing 소프트웨어가 고객 요구사항에 맞는지 보여줌 요구사항마다 적어도 하나의 테스트 있어야 하며 시스템이 정확하게 수행되는 것 기대 [결함 테스팅] : defect testing 소프트웨어 결함에 의해 제대로 동작하지 않는 경우를 발견함 테스트 케이스(test case)는 결함 드러..
▶6주차 필기 내용 Ch07. 설계와 구현 📌 소프트웨어 공학 10판- 한티미디어 [소프트웨어 설계와 구현] ▶SW 설계와 구현 : 실행 가능한 SW 시스템이 개발되는 소프트웨어 공학 프로세스 단계 설계(how)는 요구사항(what)을 실현할 소프트웨어 컴포넌트들과 그들 간의 관계 식별 활동 구현 : 설계를 프로그램으로 실체화 시키는 활동 ▶설계와 구현은 필연적으로 중첩됨(interleaved) 설계와 구현은 밀접하게 연결되어 있으며 설계 시 구현 이슈 고려함 ▶개발 프로세스에 따른 차이 ▸계획 기반 : 설계 단계가 있으며 설계가 모델링되고 문서화됨 ▸애자일 : 설계는 대략적인 스케치만 하고 설계 결정은 프로그래머가 함 7.1 UML을 이용한 객체 지향 설계 [객체 지향 설계 프로세스] ▶객체지향 시스템..
▶6주차 필기 내용 Ch06. 아키텍처 설계 📌 소프트웨어 공학 10판- 한티미디어 [아키텍처 설계] 시스템 전체 구조 설계 시스템 주요 구조 컴포넌트(subsystem)들과 상호작용하는 컴포넌트 간의 관계 [아키텍처 변경] 아키텍처 변경 비용 많이 듬 애자일 개발 초기 단계는 아키텍처 설계에 초점 맞춰야 함 컴포넌트 리팩토링은 비교적 쉽지만 아키텍처의 점진적 개발은 바람직 X [아키텍처 설계와 요구공학 프로세스의 중첩] 이상적으로는 요구사항 명세에 설계 포함 X 요구공학 프로세스의 일부로서 추상 시스템 아키텍처가 제시되어야 함 [아키텍처 요구사항] 시스템의 개별 컴포넌트가 ‘기능적’ 요구사항을 구현 시스템의 아키텍처는 ‘비기능적’ 요구사항에 영향을 줌 [아키텍처 명시적 설계와 문서화의 장점] 상위 수준..