================================== Software Development Lifecycle ================================== **Real-Life Example:** Food Delivery App (like Uber Eats or DoorDash) -------------------- 1. Planning -------------------- **Goal:** Understand what the business and users need. **Activities:** - Conduct market research to identify user demands (e.g., real-time tracking). - Define project scope, cost, and timeline. - Decide on platforms (Android, iOS, web). **Deliverables:** Project plan, feasibility study, requirements outline. ---------------------------- 2. Requirements Analysis ---------------------------- **Goal:** Gather detailed requirements from stakeholders. **Activities:** - Interview restaurant partners, drivers, and customers. - Write user stories: - “As a customer, I want to track my order so I know when it will arrive.” - “As a driver, I want to receive route suggestions for faster delivery.” **Deliverables:** Software Requirements Specification (SRS) document. -------------------- 3. Design -------------------- **Goal:** Plan how the system will look and function technically. **Activities:** - UI/UX team creates wireframes and mockups for the app. - Developers design system architecture: - Frontend (mobile app) - Backend (APIs, database, authentication) - Integrations (maps, payment gateways) **Deliverables:** Design documents, database schema, prototypes. ------------------------------------- 4. Implementation (Development) ------------------------------------- **Goal:** Build the actual product. **Activities:** - Developers write code for the customer, restaurant, and driver apps. - Backend team builds APIs and sets up servers. - Use version control (Git) for collaboration. **Deliverables:** Working code modules, initial builds. -------------------- 5. Testing -------------------- **Goal:** Ensure the software works correctly and is bug-free. **Activities:** - QA team runs test cases for login, order placement, and payments. - Conduct usability testing with real users. - Fix bugs and optimize performance. **Deliverables:** Test reports, bug fixes, stable release candidate. -------------------- 6. Deployment -------------------- **Goal:** Release the app for public use. **Activities:** - Deploy the backend to cloud servers (AWS, Google Cloud). - Publish apps on Google Play and the App Store. - Monitor performance and gather user feedback. **Deliverables:** Live version of the app. -------------------- 7. Maintenance -------------------- **Goal:** Keep the app running smoothly and up to date. **Activities:** - Monitor for crashes and security issues. - Release updates with new features (e.g., coupon system). - Fix bugs reported by users. **Deliverables:** Updated versions, performance reports, ongoing support. -------------------- Summary Table -------------------- .. list-table:: :header-rows: 1 :widths: 20 50 30 * - **Phase** - **Main Activities** - **Example Deliverable** * - Planning - Define goals and scope - Project Plan * - Requirements - Gather user needs - SRS Document * - Design - Create architecture and UI - Wireframes, Schematics * - Implementation - Write and integrate code - Working App * - Testing - Find and fix bugs - Test Reports * - Deployment - Release product - Live App * - Maintenance - Update and support - New Features, Bug Fixes