1. Waterfall is a linear and sequential model, where each phase is completed before moving to the next one. Incremental model involves breaking the project into smaller increments and developing them iteratively, with each iteration adding functionality to the existing system.
2. The Rational Unified Process (RUP) is an iterative and incremental software development process framework that provides guidelines, templates, and examples for all aspects of software development. It emphasizes the use of best practices, such as requirements management, iterative development, and risk management.
3. Agile methodologies focus on flexibility, collaboration, and delivering working software quickly. They are designed to adapt to changing requirements, encourage close collaboration between developers and stakeholders, and prioritize customer satisfaction.
4. XP's core values are communication, simplicity, feedback, and courage. Its fundamental principles include rapid feedback, assuming simplicity, embracing change, and continuously improving the design and code.
5. Test-Driven Development (TDD) is an approach where developers write tests before writing the code. It helps ensure that the code meets the requirements, promotes clean and maintainable code, and helps catch errors early in the development process.
6. Version Control Systems (VCS) track changes to files over time, allowing developers to collaborate, manage different versions, and revert to previous versions if needed. Centralized systems have a single central repository, while distributed systems have multiple repositories, allowing for greater flexibility and offline work.
7. The Android Manifest file contains essential information about the app, such as its components (activities, services, etc.), permissions, and supported features. It's required for Android apps to run and be recognized by the Android system.
8. Model-View-Controller (MVC) is an architectural pattern that separates an application into three components: Model (data and logic), View (user interface), and Controller (communication between Model and View). In Android, Activities and Fragments can act as Controllers, XML layouts as Views, and Java classes as Models.
9. Event-driven programming is a paradigm where the flow of the program is determined by events, such as user input or system events. In GUI development, event-driven programming allows for better responsiveness and interactivity, with events triggering specific actions or responses.
10. build.gradle files are configuration files for the Gradle build system in Android projects. Project-level files define global settings and dependencies, while module-level files define settings and dependencies specific to each module.
11. The Android Activity Lifecycle describes the various states an activity can be in and the corresponding methods called by the system. These methods include onCreate(), onStart(), onResume(), onPause(), onStop(), and onDestroy().
12. User Stories are short, simple descriptions of features from the user's perspective. In Behavior-Driven Development, user stories drive the creation of scenarios and tests, ensuring that the software meets user expectations and requirements.
13. Equivalence Class Partitioning is a testing technique that divides input data into groups of equivalent values, reducing the number of test cases. For example, testing an age verification system, you could have three classes: under 18, 18-65, and over 65.
14. Test execution approaches include regression testing, which checks for new issues after changes, and continuous integration testing, which involves running tests automatically when new code is integrated into the project.
15. To create a JUnit test case in Java, you need to import the JUnit library, create a class that extends TestCase, and define test methods with the @Test annotation. Test methods typically use assert methods to check the expected outcome of the code being tested.
16. Espresso is an Android UI testing framework that allows developers to write automated tests for user interactions. A basic Espresso test involves using onView() to find a view, perform() to perform an action on it, and check() to check a condition
1. 워터폴은 선형적이고 순차적인 모델로, 각 단계가 완료된 후 다음 단계로 넘어갑니다. 증분 모델은 프로젝트를 더 작은 단위로 나누고 반복적으로 개발하며, 각 반복마다 기존 시스템에 기능을 추가하는 방식입니다.2. 합리적 통합 프로세스(RUP)는 소프트웨어 개발의 모든 측면에 대한 지침, 템플릿 및 예제를 제공하는 반복적이고 점진적인 소프트웨어 개발 프로세스 프레임워크입니다. 요구사항 관리, 반복적 개발, 위험 관리와 같은 모범 사례의 사용을 강조합니다.3. 애자일 방법론은 유연성, 협업, 작동하는 소프트웨어의 신속한 제공에 중점을 둡니다. 변화하는 요구사항에 적응하고 개발자와 이해관계자 간의 긴밀한 협업을 장려하며 고객 만족을 우선시하도록 설계되었습니다.4. XP의 핵심 가치는 소통, 단순성, 피드백, 용기입니다. 기본 원칙에는 신속한 피드백, 단순성, 변화 수용, 지속적인 디자인 및 코드 개선이 포함됩니다.5. 테스트 중심 개발(TDD)은 개발자가 코드를 작성하기 전에 테스트를 작성하는 접근 방식입니다. 코드가 요구 사항을 충족하는지 확인하고, 깔끔하고 유지 관리 가능한 코드를 작성하며, 개발 프로세스 초기에 오류를 발견하는 데 도움이 됩니다.6. 버전 제어 시스템(VCS)은 시간 경과에 따른 파일 변경 사항을 추적하여 개발자가 협업하고, 다양한 버전을 관리하고, 필요한 경우 이전 버전으로 되돌릴 수 있도록 합니다. 중앙 집중식 시스템에는 하나의 중앙 리포지토리가 있는 반면, 분산식 시스템에는 여러 리포지토리가 있어 유연성이 뛰어나고 오프라인 작업도 가능합니다.7. Android 매니페스트 파일에는 앱의 구성 요소(활동, 서비스 등), 권한 및 지원되는 기능 등 앱에 대한 필수 정보가 포함되어 있습니다. Android 앱을 실행하고 Android 시스템에서 인식하는 데 필요합니다.8. MVC(모델-뷰-컨트롤러)는 애플리케이션을 세 가지 구성 요소로 분리하는 아키텍처 패턴입니다: 모델(데이터 및 로직), 뷰(사용자 인터페이스), 컨트롤러(모델과 뷰 간의 통신)입니다. 안드로이드에서 액티비티와 프래그먼트는 컨트롤러로, XML 레이아웃은 뷰로, 자바 클래스는 모델로 작동할 수 있습니다.9. 이벤트 중심 프로그래밍은 사용자 입력이나 시스템 이벤트와 같은 이벤트에 의해 프로그램의 흐름이 결정되는 패러다임입니다. GUI 개발에서 이벤트 중심 프로그래밍은 이벤트가 특정 동작이나 응답을 트리거하여 더 나은 응답성과 상호 작용을 가능하게 합니다.build.gradle 파일은 안드로이드 프로젝트에서 Gradle 빌드 시스템을 위한 구성 파일입니다. 프로젝트 수준 파일은 전역 설정 및 종속성을 정의하고 모듈 수준 파일은 각 모듈에 특정한 설정 및 종속성을 정의합니다.11. 안드로이드 활동 라이프사이클은 활동이 있을 수 있는 다양한 상태와 시스템에서 호출하는 해당 메서드를 설명합니다. 이러한 메서드에는 onCreate(), onStart(), onResume(), onPause(), onStop() 및 onDestroy()가 포함됩니다.12. 사용자 스토리는 사용자 관점에서 기능에 대한 짧고 간단한 설명입니다. 행동 중심 개발에서 사용자 스토리는 시나리오와 테스트의 생성을 주도하여 소프트웨어가 사용자의 기대와 요구 사항을 충족하는지 확인합니다.13. 동등성 클래스 분할은 입력 데이터를 동등한 값의 그룹으로 분할하여 테스트 케이스 수를 줄이는 테스트 기법입니다. 예를 들어 연령 확인 시스템을 테스트할 때 18세 미만, 18~65세, 65세 이상의 세 가지 클래스가 있을 수 있습니다.14. 테스트 실행 방식에는 변경 후 새로운 문제를 확인하는 회귀 테스트와 새 코드가 프로젝트에 통합될 때 자동으로 테스트를 실행하는 지속적 통합 테스트가 포함됩니다.15. Java에서 JUnit 테스트 케이스를 생성하려면 JUnit 라이브러리를 임포트하고 TestCase를 확장하는 클래스를 생성한 다음 @Test 어노테이션을 사용하여 테스트 메서드를 정의해야 합니다. 테스트 메서드는 일반적으로 어서트 메서드를 사용하여 테스트 중인 코드의 예상 결과를 확인합니다.16. Espresso는 개발자가 사용자 상호 작용에 대한 자동화된 테스트를 작성할 수 있는 안드로이드 UI 테스트 프레임워크입니다. 기본적인 Espresso 테스트는 onView()를 사용하여 뷰를 찾고, perform()를 사용하여 뷰에 대한 동작을 수행하고, check()를 사용하여 조건을 확인하는 것입니다.