DCIT 26 | Midterms Flashcards
refers to the process of creating software applications that perform specific functions for users or other applications
application development
This field encompasses a wide range of activities, from initial planning and design to coding, testing, and deployment
application development
key concepts and stages involved in application development
- understanding requirements
- planning and design
- development
- testing
- deployment
- maintenance and support
- emerging trends
Gathering User Requirements
Defining Functional Requirements
understanding requirements
Project Planning
System Architecture Design
User Interface (UI) Design
planning and design
Coding
Version Control
development
Unit Testing
Integration Testing
User Acceptance Testing (UAT)
testing
Release Management
Deployment
deployment
Monitoring
Updates and Bug Fixes
maintenance and support
Agile Development
DevOps
Low-Code/No-Code Development
emerging tools
Types of Application Development
1.Web Application Development
2.Mobile Application Development
3.Desktop Application Development
4.Game Development
5.Enterprise Application Development
6.Cloud Application Development
7.Embedded Application Development
8.API Development
9.Blockchain Application Development
10.(AR) and (VR) Development
Creating applications that run-in web browsers. These applications can be accessed from any device with internet connectivity.
Web Application Development
Developing applications specifically for mobile devices
such as smartphones and tablets
Mobile Application Development
Creating software applications that run on desktop operating systems like Windows, macOS, or Linux
Desktop Application Development
Designing and creating video games for various platforms, including consoles, PCs, and mobile devices
Game Development
Building large-scale applications designed to meet the needs of an organization, often integrating with existing systems
Enterprise Application Development
Developing applications that run on cloud infrastructure, providing scalability and remote access
Cloud Application Development
Creating applications that run on embedded systems, such as IoT devices, appliances, and automotive systems
Embedded Application Development
Building application programming interfaces (APIs) that allow different software applications to communicate with each other
API Development
Developing decentralized applications (dApps) that utilize blockchain technology for secure transactions and data integrity
Blockchain Application Development
Creating immersive applications that enhance or simulate real-world environments
(AR) and (VR) Development
App Development Methodologies
1.Waterfall Model
2.Agile Development
3.Scrum
4.Kanban
5.Extreme Programming (XP)
6.Lean Software Development
7.DevOps
8.Feature-Driven Development (FDD)
9.Rapid Application Development (RAD)
10.Spiral Model
A linear and sequential approach where each phase must be completed before the next begins
Waterfall Model
Phases:
Requirements
Design
Implementation
Verification
Maintenance
Waterfall Model
An iterative and incremental approach that emphasizes flexibility, collaboration, and customer feedback
Agile Development
Key Frameworks:
Scrum
Kanban
Extreme Programming (XP)
Agile Development
A specific Agile framework that organizes work into time-boxed iterations called sprints, typically lasting 2-4 weeks
Scrum
time-boxed iterations
sprints
Scrum Roles
Scrum Master
Product Owner
Devt Team
A visual approach to managing work, emphasizing continuous delivery and limiting work in progress (WIP)
Kanban
Key Elements:
Kanban board
WIP limits
continuous flow
Kanban
An Agile methodology focused on improving software quality and responsiveness to changing requirements through frequent releases
Extreme Programming (XP)
Practices:
Pair programming, test-driven development (TDD), continuous integration
Extreme Programming (XP)
An approach, focusing on eliminating waste and maximizing value
Lean Software Development
Key Principles:
Optimize the whole
eliminate waste
build quality in
deliver fast
Lean Software Development
A methodology that combines development (Dev) and operations (Ops) to improve collaboration, automation, and integration
DevOps
Key Practices:
Continuous integration
continuous delivery (CI/CD)
infrastructure as code
DevOps
Focuses on delivering tangible, working software features in short iterations
Feature-Driven Development (FDD)
Key Components:
Develop overall model
build a feature list
plan by feature
design by feature
build by feature
Feature-Driven Development (FDD)
Emphasizes quick development and iteration of prototypes over rigorous planning and testing
Rapid Application Development (RAD)
Key Components:
User feedback
iterative development
prototyping
Rapid Application Development (RAD)
A risk-driven approach that combines iterative development with the systematic aspects
of the Waterfall model
Spiral Model
Phases:
Planning
Risk Analysis
Engineering
Evaluation
Spiral Model
App Dev Tools and Technologies
1.Programming Languages
2.Frameworks
3.Integrated Development Environments (IDEs)
4.Version Control Systems
5.Database Management Systems
6.Testing Tools
7.Deployment and Continuous Integration/Continuous Deployment (CI/CD) Tools
8.Cloud Platforms
9.API Development Tools
10.Collaboration and Project Management Tools
Programming Languages
JavaScript
Python
Java
C#
Swift
Kotlin
Frameworks
Web Development
- React
- Angular
- Vue.js
Back-End Development
- Node.js
- Django
- Ruby on Rails
Mobile Development
- Flutter
- React Native
Integrated Development Environments (IDEs)
- Visual Studio
- Eclipse
- PyCharm
- Xcode
- Android Studio
Version Control Systems
- Git
- GitHub
- GitLab
Database Management Systems
- SQL Databases
- NoSQL Databases
- ORM Tools
Testing Tools
- JUnit
- Selenium
- Jest
- Postman
Deployment and Continuous Integration/Continuous Deployment (CI/CD) Tools
- Docker
- Kubernetes
- Jenkins
- CircleCI
Cloud Platforms
- Amazon Web Services (AWS)
- Microsoft Azure
- Google Cloud Platform (GCP)
API Development Tools
- Swagger/OpenAPI
- Postman
- GraphQL
Collaboration and Project Management Tools
- Jira
- Trello
- Slack
Widely used for web development (front-end and back-end with Node.js)
JavaScript
Popular for web applications, data analysis, and machine learning
Python
Commonly used for enterprise applications and Android development
Java
Used for Windows applications and game development with Unity
C#
Primary language for iOS application development
Swift
Official language for Android development
Kotlin
A JavaScript library for building user interfaces
React
A framework for building single-page applications (SPAs)
Angular
A progressive JavaScript framework for building UIs
Vue.js
JavaScript runtime for building server-side applications
Node.js
A Python framework for building web applications quickly
Django