an activity goes through during execution.

1. Creating Activity Class: Extend AppCompatActivity and implement required methods.
2. Example onCreate() Method
	* Elements in onCreate() Example: Set content view, initialize UI components, and set event listeners.
3. Connecting UI and Activity: Use findViewById() to reference UI elements.
4. Preparation for Requirement Engineering: Process to gather, analyze, and document software requirements.
5. Major Requirements Engineering Activities
	* Requirements Elicitation: Collecting requirements from stakeholders.
	* Analysis: Requirements Categorization and Prioritization.
	* Requirements Definition/Prototyping/Review: Define, create prototypes, and review requirements.
	* Requirements Documentation: Detail requirements in a clear, concise, and organized manner.
	* Establishing Requirement Traceability: Track relationships between requirements and other artifacts.
	* Requirements Prototyping: Create a working model of the software.
	* Requirement Specification: Document detailed, complete, and consistent requirements.
6. Review of Agile Model: Agile focuses on flexibility, collaboration, and customer satisfaction.
7. Behavior-Driven Development (BDD): Agile approach using natural language scenarios to describe software behavior.
8. User Stories for Requirements
	* User stories: Express application requirements in agile processes.
	* "Connextra" format: As a [role], I want [feature] so that [benefit].
	* "SMART" User Stories: Specific, Measurable, Achievable, Relevant, Time-bound.
	* Acceptance Tests: Define criteria for user story completion.
	* Mapping User Stories to Acceptance Tests: Relate user stories to test scenarios.
	* Scenarios - Format: Given/When/Then.
	* Create Scenarios for User Stories.
	* Gherkin format: Structured language for defining scenarios.
9. UI Requirements: Use "Lo-Fi" sketches, storyboards, and prototypes.
	* UI Sketches: Visual representation of UI elements.
	* UI Sketches and Wireframes: More detailed representation of UI design.
	* Storyboard: Sequence of UI sketches to represent user interaction.
	* From UI Sketches to Storyboards and Lo-Fi Prototype: Create low-fidelity prototypes.
	* Why "Lo-Fi" Storyboards and UI Sketches and Prototypes? Fast, cost-effective, and easy to modify.
10. Measuring Productivity
	* Velocity: Measure of work completed in a given time period.
	* User Story Burndown Charts: Track progress on user stories over time.
11. What is Software Quality?
	* Conforms to requirements (validation), fit to use (verification), quality assurance, and quality control.
	* Error-Detection Techniques: Testing, inspections/reviews, static analysis, formal methods.
12. Error vs. Fault vs. Failure: Error (human action), Fault (incorrect program behavior), Failure (observable deviation from expected behavior).
13. Limitation of Testing: Cannot prove the absence of faults, only their presence.
14. What is Tested (Type of Tests): Unit, integration, system, acceptance, etc.
15. Testing Methods: Glass-box (white-box), black-box, and combinations.
16. Example Testing Methods: Equivalence Class Partitioning, Boundary Value Analysis, Path Analysis/Control Flow Testing, Combinations of Conditions, Guideline testing.
17. Unit/Functional Testing: Test individual components or functions.
	* Assertion: Check if a condition is true.
	* Unit/Functional Testing Methods: Test specific functionality and expected outcomes.
18. Test-Driven Development: Write tests before writing code, refactor code for passing tests.
19. Common Test Coverage Levels: Method, call (entry/exit), statement, branch, and path coverages.
20. Modified Condition/Decision Coverage (MCDC): Measure
활동은 실행 중에 진행됩니다.1. 액티비티 클래스 생성하기: AppCompatActivity를 확장하고 필요한 메서드를 구현합니다.2. onCreate() 메서드 예제	* onCreate() 예제 내 요소들: 콘텐츠 보기 설정, UI 컴포넌트 초기화, 이벤트 리스너 설정.3. UI와 액티비티 연결하기: findViewById()를 사용하여 UI 요소를 참조합니다.4. 요구사항 엔지니어링을 위한 준비: 소프트웨어 요구 사항을 수집, 분석 및 문서화하는 프로세스입니다.5. 주요 요구 사항 엔지니어링 활동	* 요구사항 도출: 이해관계자로부터 요구사항을 수집합니다.	* 분석: 요구사항 분류 및 우선순위 지정.	* 요구사항 정의/프로토타입 제작/검토: 요구 사항 정의, 프로토타입 생성 및 검토.	* 요구 사항 문서화: 요구 사항을 명확하고 간결하며 체계적으로 상세히 설명합니다.	* 요구 사항 추적성 설정: 요구 사항과 다른 아티팩트 간의 관계를 추적합니다.	* 요구 사항 프로토타이핑: 소프트웨어의 작동 모델을 만듭니다.	* 요구 사항 사양: 상세하고 완전하며 일관된 요구 사항을 문서화합니다.6. 애자일 모델 검토: 애자일은 유연성, 협업, 고객 만족에 중점을 둡니다.7. 행동 중심 개발(BDD): 소프트웨어 동작을 설명하기 위해 자연어 시나리오를 사용하는 애자일 접근 방식.8. 요구 사항에 대한 사용자 스토리	* 사용자 스토리: 애자일 프로세스에서 애플리케이션 요구 사항을 표현합니다.	* "커넥스트라" 형식: 역할]로서 [기능]을 원하므로 [혜택]을 원합니다.	* "SMART" 사용자 스토리: 구체적, 측정 가능, 달성 가능, 관련성, 시간 제한.	* 수용 테스트: 사용자 스토리 완성에 대한 기준을 정의합니다.	* 사용자 스토리를 수락 테스트에 매핑하기: 사용자 스토리를 테스트 시나리오와 연관시킵니다.	* 시나리오 - 형식: 주어진/언제/언제.	* 사용자 스토리에 대한 시나리오를 만듭니다.	* 거킨 형식: 시나리오를 정의하기 위한 구조화된 언어입니다.9. UI 요구 사항: "Lo-Fi" 스케치, 스토리보드 및 프로토타입을 사용합니다.	* UI 스케치: UI 요소의 시각적 표현.	* UI 스케치 및 와이어프레임: UI 디자인을 보다 상세하게 표현합니다.	* 스토리보드: 사용자 인터랙션을 표현하기 위한 일련의 UI 스케치.	* UI 스케치에서 스토리보드 및 Lo-Fi 프로토타입까지: 충실도가 낮은 프로토타입 만들기.	* 스토리보드와 UI 스케치 및 프로토타입이 왜 "Lo-Fi"인가? 빠르고, 비용 효율적이며, 수정하기 쉽습니다.10. 생산성 측정	* 속도: 주어진 시간 내에 완료된 작업의 측정.	* 사용자 스토리 번다운 차트: 시간 경과에 따른 사용자 스토리의 진행 상황을 추적합니다.11. 소프트웨어 품질이란 무엇인가요?	* 요구사항 준수(유효성 검사), 사용 적합성(검증), 품질 보증 및 품질 관리.	* 오류 감지 기법: 테스트, 검사/검토, 정적 분석, 공식적인 방법.12. 오류 대 결함 대 실패: 오류(사람의 행동), 결함(잘못된 프로그램 동작), 실패(예상 동작에서 관찰 가능한 편차).13. 테스트의 한계: 결함의 부재를 증명할 수 없으며 결함의 존재만 증명할 수 있습니다.14. 테스트 대상(테스트 유형): 단위, 통합, 시스템, 승인 등.15. 테스트 방법: 글래스 박스(화이트 박스), 블랙 박스 및 조합.16. 테스트 방법 예시: 동등성 클래스 분할, 경계 값 분석, 경로 분석/제어 흐름 테스트, 조건 조합, 가이드라인 테스트.17. 단위/기능 테스트: 개별 구성 요소 또는 기능 테스트.	* 어설션: 조건이 참인지 확인합니다.	* 단위/기능 테스트 방법: 특정 기능 및 예상 결과를 테스트합니다.18. 테스트 중심 개발: 코드를 작성하기 전에 테스트를 작성하고, 테스트 통과를 위해 코드를 리팩터링합니다.19. 일반적인 테스트 커버리지 수준: 메서드, 호출(진입/출구), 문, 분기 및 경로 커버리지.20. 수정된 조건/결정 커버리지(MCDC): 측정