소프트웨어 개발(5)
-
소프트웨어 개발 방법 및 도구(3), Design by Figures
본 포스팅은 경희대학교 소프트웨어 융합학과 교수님이신 이성원 교수님의 강의 영상을 토대로 작성합니다. 실제 수업 시간에 진행하시는 강의 영상을 유튜브에 올리셔서 모두가 볼 수 있도록 하셨습니다. 아직 학부생이기에 수강신청을 통해 수업을 들을 수 있지만 들을 수 있는 학점이 제한되어 방학 중에 유튜브로 시청하고, 강의 내용을 본 포스팅을 통해 정리하고자 합니다. Design Approach 파트는 소프트웨어 공학에서 진행한 강의 내용과 동일하기에 넘어갔습니다. 2022.04.25 - [강의 내용 정리/소프트웨어 공학] - 소프트웨어 공학 (8), Architectural Design 소프트웨어 공학 (8), Architectural Design Architectural Design 1. Architectu..
2022.08.19 -
소프트웨어 개발 방법 및 도구(2), Selecting Right Language and Development Environments
본 포스팅은 경희대학교 소프트웨어 융합학과 교수님이신 이성원 교수님의 강의 영상을 토대로 작성합니다. 실제 수업 시간에 진행하시는 강의 영상을 유튜브에 올리셔서 모두가 볼 수 있도록 하셨습니다. 아직 학부생이기에 수강신청을 통해 수업을 들을 수 있지만 들을 수 있는 학점이 제한되어 방학 중에 유튜브로 시청하고, 강의 내용을 본 포스팅을 통해 정리하고자 합니다. Selecting Right Language and Development Environments 시기/유형별 자주쓰인 프로그래밍 언어 언어는 꾸준히 개발되고 있다. - 자바는 모바일 어플리케이션이나 서버, 데스크탑을 짤 때 많이 사용한다. 웹에서는 조금 사그라드는 분위기이다. - 자바스크립트는 웹브라우저를 위해 만들어졌지만 EC6가 나오면서 파워풀..
2022.08.17 -
소프트웨어 개발 방법 및 도구(1), Problem Definition
본 포스팅은 경희대학교 소프트웨어 융합학과 교수님이신 이성원 교수님의 강의 영상을 토대로 작성합니다. 실제 수업 시간에 진행하시는 강의 영상을 유튜브에 올리셔서 모두가 볼 수 있도록 하셨습니다. 아직 학부생이기에 수강신청을 통해 수업을 들을 수 있지만 들을 수 있는 학점이 제한되어 방학 중에 유튜브로 시청하고, 강의 내용을 본 포스팅을 통해 정리하고자 합니다. 글을 정리하는 현재 중간 고사 범위까지 공부하였으며 보다 깔끔하게 정리한 뒤 포스팅하기 위해 필기한 내용을 정리하며 복습하고 있습니다. Problem Definition 소프트웨어를 개발하는 실무에서 문제를 만났을 때 어떻게 해결할 수 있는지 Q. 어떤 소프트웨어를 짤 것인가?(동기) 1. 능동적으로 소프트웨어를 짠다. 2. 다른 사람의 요청에 따..
2022.07.28 -
소프트웨어 공학 (12), Project Management
Project Management 탑다운에 기반한 내용이기에 최근 소프트웨어 개발 방법론인 Agile과는 다른 면이 있어 논란의 여지가 있을 수 있다. - Project Planning 이전의 단계이지만 WaterFall 방식과 Agile 방식의 차이점이 너무 크기 때문에 이를 중심으로 Project Management를 설명하고자 한다. 1. Ice break - 프로젝트는 시작된다고 해서 모두 성공하는 것은 아니고, 망해가는 프로젝트를 통해 교훈을 얻을 수 있다. 이후 이러질 Project Planning을 하는 것이 매우 어렵고 WaterFall 방식과 Agile 방식의 차이점도 매우 크고, man-month라고 하는 투입되는 사람에 대해 차이점이 있다. 또한 프로젝트가 망해가는 것에 대한 특징을 ..
2022.06.10 -
소프트웨어 공학 (9), Implementation
Design and Implementation 탑다운 방식이면 디자인과 구현을 명확하게 구현하곤 한다. 이를테면 설계는 한국에서 하되 구현은 외국에서 진행하는 등의 역할을 구분해 나눌 수 있다. 이러한 경우에는 디자인 단계에서 많은 문서가 나올 수 있다. 그러나 데브옵스와 인터넷 설계 등을 봤을 때 설계와 구현은 밀결합되어있는 경우가 많다. 소프트웨어에 대한 상세 설계와 구현은 프로그래밍 언어를 통해 만드는 과정을 의미한다. 결과적으로는 executable한 시스템을 만들 수 있다. 상세 설계와 구현은 매우 밀결합한 경우가 많다. 구현을 하다가 문제가 발생하는 경우에는 상세설계에 피드백을 줄 수도 있다. 둘은 매우 많이 인터렉션해야한다. 둘을 함께 진행하는 경우에는 일반적으로는 agile 기법이다. ag..
2022.04.25