[지식창고]/소프트웨어공학 8

[소프트웨어공학] Chapter 3. 소프트웨어 프로세스

거의 다 적었었는데 내용이 날라갔습니다.. 이번 포스팅 길다 생각했는데 이게 날라갈 줄이야 ~ 더 잘 적으라는 뜻으로 알고 다시 공부해서 적어봅니다 .. 。゚(゚´ω`゚)゚。 우리는 이전까지 소프트웨어 개발 과정에 있어서 5가지 접근 단계를 알아보았고 그 중 특히나 '프로세스 단계'에 대해서 자세히 알아보았다! 프로세스 중에서도 프레임워크 활동 ' 대화 - 계획 - 모델링 - 구현 - 설치 '과정에 대해서 알아보았는데 ... 과연 모든 프로세스가 이 과정을 순서대로 따라만할까? 이 물음에 대한 해답을 찾아보자 ! 그러기 위해서는 프로세스 모델이 등장한다. 프로세스가 돌아가는 다양한 방식에 대한 모델이 존재한다는 것이다. 프로세스 모델 프로세스 모델은 각 요소들을 서로 연결하여 일련의 소프트웨어 개발 프..

[소프트웨어공학] Chapter 6. 요구사항 개념

요구공학 요구공학이란 문제의 요구사항들을 이해하는 것 소프트웨어 엔지니어가 직면한 더 어려운 문제 RE: Requirement engineering → 커뮤니케이션 활동으로부터 모델링 활동까지 → 디자인과 구현을 이어주는 다리 요구공학의 Task ✅ customer가 무엇을 원하는지 ✅ needs를 분석 ✅ feasibility(실행할 수 있음)을 평가 ✅ 합리적인 접근법을 중재 ✅ 문제를 정확하게 명시화 ( → 모델링 ! ) ✅ specification 유효성 검증 ✅ 요구사항이 제대로 반영되어서 구현되었는지 관리 요구공학 단계 Inception(착수) - Elicitation(추출) - Elaboration(상세) - Negotiation(협상) - Specification(명세) - Validati..

[소프트웨어공학] Chapter2-2. 소프트웨어 공학 개요(2)

chapter 2에서는 소프트웨어공학에 관해 다룬다. 즉, 우리가 3,4 .. 장에서 차차 배워갈 내용을 쭉 다룬다. 소프트웨어의 정의와 역할과 진화 그리고 이 소프트웨어의 문제점, 응용분야를 다루어봤고 이번 포스팅에서는 소프트웨어공학을 단계별로 접근하는 방식에 관해 배운다. 우선 소프트웨어 공학의 정의부터 다시 상기시켜보자 ! 소프트웨어 공학, Software enginerring 소프트웨어 공학이란 신뢰성있고 실제 기계에서 효율적으로 작동하는 소프트웨어를 경제적으로 구현하고 사용하기 위해 건전한 공학 원칙을 수립하고 적용하는 것을 의미한다. 이 때 공학 원칙이란 앞서 말한 오류가 없고 효율적이라는 뜻을 내포하고 있다. 1) 소프트웨어 개발, 운영 및 유지보수에 체계적이고 집중된, 측정 가능한 방법론을..

[소프트웨어공학] Chapter 5 - (1) . 프로젝트 관리

프로젝트 계획 (Project Planning) 프로젝트 계획의 주요 목표 : 복잡한 기술 프로젝트를 제어, 추적 및 모니터링하기 위한 실용적인 전략을 수립하는 것 프로젝트가 시작되기 전 소프트웨어 팀은 다음과 같은 것들을 평가해야함 수행할 작업의 양 필요한 자원 시작부터 끝까지 소요될 시간 Task Set Establish project scope - 프로젝트 범위 정하기 Determine feasibility - 타당성 검토 Analyze risks - 리스크(위험성) 분석 Risk 분석은 항상 고려되어야한다! Define required resources - 필요한 자원 정하기 필요한 인력 자원을 결정하라 재사용가능한 소프트웨어를 정의하라 환경 자원을 정의하라 Estimate cost and eff..

[소프트웨어 공학] Chapter 4. 프로젝트 관리 개념(2) - 프로젝트 측정

* 교수님께서 소프트웨어 공학은 크게 엔지니어링 / 매니지먼트 (관리) 부분으로 나뉜다고 한다! 이러한 관점에서 이 과목을 잘 살펴보도록 해보자 ~~ 프로젝트 측정 (Measure) 1. 프로젝트 측정이 필요한 이유 1. To charactive : 측정하여 대상을 특징화하고 분류하는 것 2. To evaluate : 측정하여 대상을 평가하고 판단 3. To predict : 측정하여 대상의 미래 상황을 예측하는 것 4. To improve : 측정하여 대상을 개선하는 것 * (세분화된) 측정 이유 - access the status of an ongoing project 진행중인 프로젝트의 상황 평가 → 프로젝트가 계획대로 진행되고 있는지에 대한 여부 확인을 포함 - track potential ris..

[소프트웨어공학] Chapter 4. 프로젝트 관리 개념(1) - 4P

소프트웨어 공학에서 프로젝트 관리는 소프트웨어 제품을 개발하고 유지, 보수하는 프로세스를 계획, 조정, 실행, 감시 및 제어하는 활동이다. 프로젝트 관리는 프로젝트를 성공적으로 완료하기 위해 프로젝트 팀원 간의 협력과 의사소통, 일정관리, 예산 관리 등의 다양한 요소를 조율해야한다 ! 4P는 프로젝트 관리에서 중요한 개념 중 하나로 Project(프로젝트), Product(제품), Process(프로세스), People(인력) 의 네가지 요소를 의미한다. 4P 개념은 프로젝트의 성공을 위해 모두 고려되어야하는 중요한 영역임 ~ ! People(사람) - 성공적인 프로젝트를 위한 핵심 자원 Product(산출물) - 만들어야 할 소프트웨어 결과물 Process(프로세스) - 작업완수에 필요한 일련의 프레임..

[소프트웨어공학] Chapter2. 소프트웨어 공학 개요(1)

1. 소프트웨어의 정의 : 프로그램, 문서, 데이터 등을 중심으로 구성된느 집합이나 객체를 말함 2. 소프트웨어 역할의 진화 1970s ~ 1980s 새로운 산업혁명 → 제 3의 물결 정보 사회 전자 정부 1990s 권력 이동 지식의 민주화 세기 말 시간폭탄(2000년에 되기 전 여러가지 괴담, 가설 생성) 2000s 보다 지능적인, 보다 유연한 새로운 형식의 과학 → 컴퓨터 시뮬레이션 (digital Twin, Metaverse), AI(딥러닝) Alvin Toffler(미래학자)의 제 4차 산업혁명 선언 : 제 3의 물결, 권력 이동, 부의 미래 → "4차 산업혁명" 오늘날 상호 이해와 소통 SNS, IoT 쓰레기 정보/ 지식 ( Obsoledge → Obsolete + Knowledge ) 초대형 ..

[소프트웨어 공학] Chapter1. SW공학 강의 소개

1. 학문 배경 농업혁명 → 산업혁명 → 정보혁명 → 지식혁명 * 농업혁명 : forethought * 산업혁명 : Lewton * 정보혁명 : computer, simulation, automatics, cybernetics, game theory, quantum dynamics, genetics, artificial life 모든것이 연결되고 지능적인 사회로의 진화 2. 공학의 정의 creative application of scientific principles to design and develop 인류의 이익을 위해 과학적 원리, 지식을 활용하여 새로운 제품,도구를 만들어 상업적, 상품적으로 적용시키는 것 공학적 과정 인문학적 사고! 문제 의식(아이디어) → 개념화 → 분석(문제 표현) → 설계..