목록2024/02/24 (9)
득이공간
해당 게시물은 김정욱 교수님의 '소프트웨어공학' 강의를 수강하며학습한 내용을 개인적으로 정리한 글입니다.📌 목차 - 7장. 유지보수7-1. 유지보수 7-2. 레거시 시스템, 리먼의 소프트웨어 변화 법칙 7-3. 유지보수 프로세스 모델 7-4. 유지보수 작업 과정 7-5. 소프트웨어 형상 관리 7-6. 역공학📌 7-1. 유지보수* 유지보수 - 소프트웨어가 사용자에게 인수, 설치된 이후 발생하는 모든 공학적인 작업 활동 (폐기될 때까지) - 소프트웨어를 계속 수정, 보완하는 활동 - 필요성: 소프트웨어는 환경과 비즈니스 요구에 따라 진화한다. - 소프트웨어 비용 중 유지보수 비용이 가장 큰 비용을 차지한다. - 소프트웨어는 개발 완료가 끝이 아니라 그때부터 시작이다. 만들어진 하드웨어는 새로운 기능을 추..
해당 게시물은 김정욱 교수님의 '소프트웨어공학' 강의를 수강하며 학습한 내용을 개인적으로 정리한 글입니다. 📌 목차 - 6장. 테스트 6-1. 테스트 6-2. 테스트 단계, 방법 6-3. 블랙박스 테스트 6-4. 화이트박스 테스트 6-5. 통합 테스트 6-6. 시스템 테스트 6-7. 인수 테스트 📌 6-1. 테스트 * 테스트 - 잘 안되는 것을 발견하기 위한 작업 * 테스트 중요성 - 소프트웨어 오작동으로 인한 재산/인명 피해를 사전에 예방하기 위함 (1) 결함 예방 (2) 품질과 안정성 보장 (3) 소프트웨어 신뢰성 향상 * 검증과 확인 - 검증(verification): 각 단계의 일들을 잘하고 있는가? - 확인(validation): 만든 결과가 원했던 것인가? * 테스트 기초 - 오류: 소프트웨어..
해당 게시물은 김정욱 교수님의 '소프트웨어공학' 강의를 수강하며 학습한 내용을 개인적으로 정리한 글입니다. 📌 목차 - 5장. 구현 5-1. 구현 5-2. 코딩 오류 5-3. 표준 코딩 규칙 5-4. 표준 코딩 규칙 종류 📌 5-1. 구현 * 구현 - 설계의 결과(설계서)를 사용자가 이용할 수 있는 모습(원시 코드)으로 변환하는 과정 - 결과물: 컴퓨터 프로그램 - 구현 후 테스트 시 오류가 발생하면? - 일반적으로 분석과 설계의 잘못에 의해 문제가 생긴다. - 설계과정이 완벽하다면 구현은 상대적으로 단순하고 기계적인 과정이다. - 코딩을 하는 개발자들은 정해진 규칙에 따라 코딩(표준 코딩 규칙)해야 한다. * 로드맵 - 코딩 표준 - 메서드 구현: 메서드 내부의 내용을 구현 - 클래스 인스펙션: 구현 ..
해당 게시물은 김정욱 교수님의 '소프트웨어공학' 강의를 수강하며 학습한 내용을 개인적으로 정리한 글입니다. 📌 목차 - 4장. 설계 4-1. 설계 4-2. 객체 지향 모델링 (UML) 4-3. 정적 모델링 - 클래스 다이어그램 4-4. 동적 모델링 4-5. 동적 모델링 - 순서 다이어그램 4-6. 동적 모델링 - 상태 다이어그램 4-7. 동적 모델링 - 활동 다이어그램 4-8. 절차 지향 모델링 (DFD) 4-9. 설계 요령 4-10. 아키텍처 설계 4-11. UI 설계 📌 4-1. 설계 * 설계 - 개발될 제품에 대한 의미있는 공학적 표현으로, 설계자는 다양한 제약 조건을 만족시킬 수 있는 최적의 설계안을 만들고, 설계를 평가할 기준도 정량적으로 명시해야 한다. - How(어떻게) 관점에서 바라본다. ..
해당 게시물은 김정욱 교수님의 '소프트웨어공학' 강의를 수강하며 학습한 내용을 개인적으로 정리한 글입니다. 📌 목차 - 3장. 요구분석 3-1. 요구분석 3-2. 요구사항 도출, 분석 3-3. 문서화: 요구분석명세서 3-4. 요구사항 검증 📌 3-1. 요구분석 * 소프트웨어의 요구 - 무엇(문제)을 구축할 것인가를 나타낸다. * 요구분석의 목적 - 이해: 소프트웨어가 무엇을 위해 필요한지 정확하게 이해한다. - 전달: 이해한 것을 다른 개발자에게 정확하게 전달한다. - 컨트롤: 시스템이 명세에 맞도록 제품 개발을 컨트롤한다. * 요구분석의 중요성 - 의사소통시간을 절약하고 다음 단계의 기초가 된다. * 요구분석의 어려움 - 사용자의 계속되는 요구사항 추가, 분석가의 문제 영역 이해 부족, 의사소통 문제 ..
해당 게시물은 김정욱 교수님의 '소프트웨어공학' 강의를 수강하며 학습한 내용을 개인적으로 정리한 글입니다. 📌 목차 - 2장. 계획 2-1. 계획 2-2. 문제 정의 2-3. 타당성 분석 2-4. 개발 비용 산정 2-5. 개발 비용 산정 기법 2-6. 일정 계획 2-7. 위험 분석 📌 2-1. 계획 * 계획 - 누가 무엇을 어느 기간동안 어떻게 개발해야 하는지 예측하는 작업 * 체계적이고 명확한 계획을 위한 6가지 - 문제 정의 - 타당성 분석 - 개발 비용 산정 - 개발 비용 산정 기법 - 일정 계획 - 위험 분석 📌 2-2. 문제 정의 * 문제 정의 - 무엇을 개발할 것인지 명확히 정의한다. 개발하고자 하는 영역의 배경 지식이 필요하다. 기존에 존재하는 유사 시스템을 사용해보고 분석한다. 📌 2-3...
해당 게시물은 김정욱 교수님의 '소프트웨어공학' 강의를 수강하며 학습한 내용을 개인적으로 정리한 글입니다. 📌 목차 - 1장. 소프트웨어 공학과 개발 프로세스 1-1. 소프트웨어 1-2. 소프트웨어 공학 1-3. 소프트웨어 개발 프로세스 1-4. 소프트웨어 개발 생명주기 모델 📌 1-1. 소프트웨어 * 소프트웨어 - 컴퓨터를 비롯한 시스템에서 특정 작업을 수행하게 하는 프로그램의 집합 * 소프트웨어 특징 - 비제조성 - 소모되지 않는 소프트웨어 - 사용자의 요구에 따라 새롭게 생산됨 - 변경성 (Changeability) - 복제 가능 (Duplicability) * HW vs SW - HW 제조: 결과물의 차이가 크지 않다. - SW 개발: 개인 능력에 따라 결과물의 차이가 크다. - HW 부품: 오래..
해당 게시물은 조진성 교수님의 '운영체제' 강의를 수강하며 학습한 내용을 개인적으로 정리한 글입니다. 📌 목차 - 4장. I/O Device 관리 4-1. Mass-Storage Structure 4-2. I/O Systems 4-3. File System Interface 4-4. FIle System Implementation 4-5. File System Internals 📌 4-1. Mass-Storage Structure * Mass-Storage (secondary storage) - computer I/O 장치 중에 제일 중요한 장치다. - HDD (Hard Disk Drive) : - SSD (Solid State Disk) - RAM disk : 전원을 껐다가 키면 데이터가 다 날라간다...
해당 게시물은 조진성 교수님의 '운영체제' 강의를 수강하며 학습한 내용을 개인적으로 정리한 글입니다. 📌 목차 - 3장. Memory 관리 3-1. Main Memory 3-2. Virtual Memory 📌 3-1. Main Memory * Memory Management - To provide a convenient abstraction for programming - To allocate scarce memory resources among competing processes to maximaize performance with minimal overhead - To provide isolation between processes * Memory Management Keypoints 1. 프로세스 ..