소프트웨어공학23 [SW 개발 모델] PMBOK와 WBS 개념 ㅁPMBOK(Project Management Body of Knowledge, 프로젝트 관리 지식 체계): 프로젝트 관리에 필요한 지식과 프로세스를 체계적으로 정리한 가이드 미국 프로젝트 관리 협회(PMI, Project Management Institute)에서 개발하고 유지하며, PMP(Project Management Professional)와 같은 프로젝트 관리 자격증 시험의 기반이 된다 ㅁWBS(Work Breakdown Structure, 작업 분할 구조): 프로젝트의 전체 작업을 계층적으로 나누어 관리하는 방법이는 PMBOK(Project Management Body of Knowledge)에서 중요한 개념으로 다루어진다 [WBS 특징]- 프로젝트의 전체 범위를 구조화된 계층으로 나누어 .. 2025. 2. 18. [SW 개발 모델] 워터폴(Waterfall) 모델 ㅁ워터폴(Waterfall) 모델: 전통적으로 사용되는 방법론 중 하나로, 단계별 순차적으로 진행되는 특성을 가지며 각 단계가 완료된 후 다음 단계로 넘어가는 방식주로 대규모 프로젝트에서 활용되며, 요구사항이 명확하고 변경 가능성이 적은 환경에서 효과적이다 [워터폴 모델의 6단계]1. 요구사항 분석 (Requirement Analysis)프로젝트의 목적과 목표를 정의하고, 고객 및 이해관계자의 요구사항을 수집한다소프트웨어가 가져야 할 기능과 제약 사항을 문서화한다2. 시스템 설계 (System Design)요구사항 분석에서 정의된 내용을 바탕으로 시스템의 구조와 아키텍처를 설계한다ERD 설계, 인터페이스 설계, 모듈 설계, API 명세서 작성 등을 포함한다3. 구현 (Implementation)설계된 내.. 2025. 2. 18. [SW 개발 모델] 애자일(Agile) 방법론 https://claremont.tistory.com/entry/SW-%EA%B0%9C%EB%B0%9C-%EB%AA%A8%EB%8D%B8-%EC%9B%8C%ED%84%B0%ED%8F%B4Waterfall-%EB%AA%A8%EB%8D%B8 [SW 개발 모델] 워터폴(Waterfall) 모델ㅁ워터폴(Waterfall) 모델: 전통적으로 사용되는 방법론 중 하나로, 단계별 순차적으로 진행되는 특성을 가지며 각 단계가 완료된 후 다음 단계로 넘어가는 방식주로 대규모 프로젝트에서 활용되claremont.tistory.com 소프트웨어 개발 환경은 빠르게 변화하고 있으며, 사용자의 요구사항도 지속적으로 변한다. 기존의 전통적인 개발 방식(e.g. 워터폴 모델)에서는 모든 요구사항을 사전에 정의하고 순차적으로 개발을.. 2025. 2. 10. [SW 개발 모델] V-모델 https://claremont.tistory.com/entry/SW-%EA%B0%9C%EB%B0%9C-%EB%AA%A8%EB%8D%B8-%EC%9B%8C%ED%84%B0%ED%8F%B4Waterfall-%EB%AA%A8%EB%8D%B8 [SW 개발 모델] 워터폴(Waterfall) 모델ㅁ워터폴(Waterfall) 모델: 전통적으로 사용되는 방법론 중 하나로, 단계별 순차적으로 진행되는 특성을 가지며 각 단계가 완료된 후 다음 단계로 넘어가는 방식주로 대규모 프로젝트에서 활용되claremont.tistory.com 소프트웨어 개발 방법론 중 하나인 V-모델에 대해서 알아보자ㅁV-모델(V-model): 소프트웨어 개발 생명 주기를 설명하는 모델 중 하나로, 전통적인 폭포수 모델의 확장 형태이 모델은 개발.. 2024. 10. 5. [디자인 패턴] MVC 패턴(Model-View-Controller Pattern) MVC 패턴은 디자인 패턴 중 하나이다애플리케이션을 세 가지 주요 컴포넌트로 분리하여 관리하고 이를 통해 코드의 재사용성, 유지보수성, 확장성을 높인다구조는 쉽게 말하면, View 단과 Model 단이 있고 그 사이에 Controller 단이 껴서 중재하는 구조이다 요즘 개발 트렌드는 "프론트엔드 개발자가 View 단"을 맡아서 진행하고 "백엔드 개발자가 Model 단과 Controller 단"을 맡아서 진행한다 MVC 패턴의 구성 요소 Model (모델) 역할: 애플리케이션의 핵심 데이터와 비즈니스 로직을 담당한다. DB와의 상호작용, 데이터의 생성, 수정, 삭제 등의 작업을 수행 예시: 사용자 정보, 상품 목록, 주문 내역 등 실제 데이터와 관련된 부분 View (뷰) .. 2024. 10. 1. [OOP] 제네릭 명명 관례(w/Java) 일반적으로 대문자를 사용하고 용도에 맞는 단어의 첫 글자를 사용하는 관례를 따른다 T - Type(임의의 타입)class Box E - Element(컬렉션 요소)List K - Key(맵의 키)Map V - Value(맵의 값)Map R - Return Type(반환 타입)Converter ? - wildcard(아무거나 다 가능)List N - Numberclass NumberBox // 숫자 타입만 허용하는 제네릭 클래스 S, U, V etc. - 2nd, 3rd, 4th typesclass MultiType // 여러 개의 타입을 지원하는 제네릭 클래스 참고 및 출처: 김영한의 실전 자바 - 중급 2편https://www.inflearn.com/course/%EA%B9%80%.. 2024. 9. 16. [OOP] 실무 예외처리 수칙 트렌드 2가지 1. 처리할 수 없는 예외(시스템 오류)는 오류 메시지를 보여준다DB 접속 실패, 애플리케이션 연결 오류 같은 경우는, 고객에게 "현재 시스템에 문제가 있습니다." 라는 오류 메시지를 보여주고, 만약 웹이라면 오류 페이지를 보여주면 된다. 그리고 내부 개발자가 문제 상황을 빠르게 인지할 수 있도록, 오류에 대한 로그를 남겨둔다. 2. 현대의 애플리케이션 개발에서는 체크 예외를 거의 사용하지 않는다(= 언체크 예외만을 사용한다)현대에서는 점점 처리할 수 없는 예외가 많아지고, 또 프로그램이 복잡해지면서 체크 예외를 사용하는 것이 많이 부담스러워졌다. 따라서 언체크 예외만을 사용하며 한꺼번에 "공통 예외처리"를 한다. 해결할 수 있는 것들은 해결하고, 해결할 수 없는 것들은 공통으로 일관성있게 처리한다.. 2024. 9. 11. [OOP] 리플렉션(reflection) ㅇ리플렉션(reflection): OOP에서 런타임에 프로그램의 구조를 검사하고 조작할 수 있는 메커니즘프로그램이 실행 중에 자신에 대한 정보를 탐색하거나, 구조를 동적으로 변경할 수 있다. 예를 들어, 클래스의 메타 정보를 기반으로 클래스에 정의된 메서드, 필드, 생성자 등을 조회하고, 이들을 통해 객체 인스턴스를 생성하거나 메서드를 호출하는 작업을 할 수 있다. 이런 작업을 리플렉션이라 한다. 또 추가로 애노테이션 정보를 읽어서 특별한 기능을 수행할 수도 있다. 최신 프레임워크들은 이런 기능을 적극 활용한다. ※ reflection은 자아성찰이라는 뜻을 갖고 있다 리플렉션의 기본 개념메타데이터 접근: 리플렉션을 사용하면 클래스, 인터페이스, 메서드, 필드 등의 메타데이터(데이터에 대한 데이터)에 접근.. 2024. 8. 23. [OOP] 메서드 체이닝(Method Chaining) ㅇ메서드 체이닝(Method Chaining): 각 메서드가 객체 자신(또는 다른 객체)의 참조값을 반환함으로써 다음 메서드를 이어서 계속 호출하는 패턴 한 객체의 메서드를 연속적으로 호출할 수 있도록 설계된 구조이다. 메서드 체이닝은 코드의 가독성을 높이고, 코드를 간결하게 유지하는 데에 도움을 준다. 예시1) 단순히 값을 누적해서 더하는 기능을 제공하는 ValueAdder 클래스package lang.string.chaining;public class ValueAdder { private int value; public ValueAdder add(int addValue) { value += addValue; return this; // 자신의 참조값을 반환해서 메.. 2024. 8. 22. 이전 1 2 3 다음