분류 전체보기258 [HW] 10주차 실습 2025. 6. 15. [예제] 5장: 상속 2025. 6. 15. [HW] 9주차 실습 2025. 6. 15. [예제] 4장: 클래스와 객체 2025. 6. 15. 6. 정렬 비교 정렬1. 버블 정렬: 처음부터 하나씩 1) 비교, 2) 자리 교환 --> 가장 큰 수의 자리가 고정된다. 2. 선택 정렬: 정렬되지 않은 부분에서 최솟값 찾아서, 정렬되지 않은 첫 부분과 switch 3. 삽입 정렬: 정렬된 부분이 있고, 정렬되지 않은 부분의 처음부터 하나씩 1) 비교, 2) 삽입 --> 정렬된 부분의 자리가 점점 채워진다. 4. 쉘 정렬: gap을 이용한 삽입 정렬 --> 빠르게 이동시킨다. 5. 힙 정렬: 1) 루트 노드 마지막 노드, 2) 루트 노드(가장 큰 것) 자리 확정, 3) 루트로 간 마지막 노드 정리, ...**정렬 문제의 하한: O(nlogn)비교정렬이 아닌 정렬6. 기수 정렬: 숫자를 부분적으로 비교하며 정렬, 안정성(stability)을 가진다.**외부 정렬:.. 2025. 6. 8. [소프트웨어 공학] Verification, Validation and Testing Fundamentals of SW Test Verification: 잘 만들고 있는가? Are we builing the product right? Validation: 잘 만들었는가? Are we building the right product? Testing: 실행 결과를 확인한다. Testing vs. Debugging Testing: bug로 인해 발생한 문제를 찾는다. (by. tester) Debugging: bug를 발생시킨 문제를 찾고, 코드를 고친다. (by. developer) Confirm testing: failure가 해결되었음을 다시 확인한다. (by. tester) Test Process Unit test: 개발자가 자신이 구현한 부분을 테스트한다. Integration tes.. 2024. 2. 19. [소프트웨어 공학] UML(Unified Modeling Language), OOP(Object-Oriented Development Process), Modeling Engineering UML(Unified Modeling Language) Use Case Diagram: actor와 use case의 관계를 도식화한다. 모든 유스케이스를 취합하면 시스템의 모습이 된다. Class Diagram: 클래스 또는 클래스들과 그들의 관계를 표시한다. Sequence Diagram: 시간 경과에 따라 객체 간의 교류 과정을 표현한다. Communication Diagram: 객체 간의 상호관계를 표현한다. Activity Diagram State Chart Component Diagram Deployment Diagram OOP(Object-Oriented Development Process) Inception: 기존 시스템을 업데이트하거나, 새로운 시스템을 개발하기 위한 business ca.. 2024. 2. 19. [소프트웨어 공학] 소프트웨어 프로세스, 요구 공학 소프트웨어 아키텍처 디자인 소프트웨어 공학이란? : 초기 구상 단계부터 시스템 사용 이후 발생하는 유지보수까지 포함하는 소프트웨어 생산의 모든 관점과 관련한 공학적인 학문 분야이다. 소프트웨어 공학은 고품질 소프트웨어 시스템의 비용 효율적인 개발에 중점을 둔다. 소프트웨어 공학에서의 비용(cost): 개발 + 테스트 비용 소프트웨어 프로세스 소프트웨어 명세화(specification): 시스템을 개발하기 위해 어떤 서비스가 필요한지 이해하고 정의하며, 시스템의 운영/개발에 대한 제약사항을 찾아내는 프로세스 소프트웨어 설계(design) 및 구현(implementation) : 명세를 실현하는 소프트웨어 구조를 설계하고, 소프트웨어 구조를 실행 가능한 프로그램으로 변환한다. 아키텍처 설계: 시스템의 전체 구조, 주요 컴포넌트, 이들.. 2024. 2. 19. [자프실] 12. 자바 스레드 기초 12.1 멀티태스킹 멀티태스킹이란? : 다수의 작업을 동시에 처리하는 것 멀티태스킹 프로그램 사례 : 하나의 프로그램이 하나의 작업(태스크)만 하는 경우가 대부분이지만, 하나의 프로그램이 여러 작업(태스크)을 동시에 실행하는 경우가 있다. 스레드와 운영체제 스레드(thread): 운영체제에 의해 관리되는 하나의 태스크 멀티스레딩(multi-threading): 다수의 스레드를 동시에 실행시키도록 응용프로그램을 작성하는 기법 멀티태스킹과 멀티스레딩 멀티프로세싱(multi-processing): 하나의 응용프로그램을 여러 개의 프로세스(process)로 구성하여 각 프로세스가 하나의 작업(태스크)을 처리하도록 하는 기법 자바 스레드와 JVM 자바 스레드(java thread) 자바 가상기계(JVM: Java.. 2024. 1. 15. 이전 1 2 3 4 ··· 29 다음