DCIT 26 | Midterms Flashcards

(156 cards)

1
Q

refers to the process of creating software applications that perform specific functions for users or other applications

A

application development

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

This field encompasses a wide range of activities, from initial planning and design to coding, testing, and deployment

A

application development

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

key concepts and stages involved in application development

A
  1. understanding requirements
  2. planning and design
  3. development
  4. testing
  5. deployment
  6. maintenance and support
  7. emerging trends
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Gathering User Requirements
Defining Functional Requirements

A

understanding requirements

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Project Planning
System Architecture Design
User Interface (UI) Design

A

planning and design

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Coding
Version Control

A

development

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Unit Testing
Integration Testing
User Acceptance Testing (UAT)

A

testing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Release Management
Deployment

A

deployment

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Monitoring
Updates and Bug Fixes

A

maintenance and support

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Agile Development
DevOps
Low-Code/No-Code Development

A

emerging trends

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Types of Application Development

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Creating applications that run-in web browsers. These applications can be accessed from any device with internet connectivity.

A

Web Application Development

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Developing applications specifically for mobile devices
such as smartphones and tablets

A

Mobile Application Development

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Creating software applications that run on desktop operating systems like Windows, macOS, or Linux

A

Desktop Application Development

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Designing and creating video games for various platforms, including consoles, PCs, and mobile devices

A

Game Development

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Building large-scale applications designed to meet the needs of an organization, often integrating with existing systems

A

Enterprise Application Development

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Developing applications that run on cloud infrastructure, providing scalability and remote access

A

Cloud Application Development

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Creating applications that run on embedded systems, such as IoT devices, appliances, and automotive systems

A

Embedded Application Development

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Building application programming interfaces (APIs) that allow different software applications to communicate with each other

A

API Development

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Developing decentralized applications (dApps) that utilize blockchain technology for secure transactions and data integrity

A

Blockchain Application Development

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Creating immersive applications that enhance or simulate real-world environments

A

(AR) and (VR) Development

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

App Development Methodologies

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

A linear and sequential approach where each phase must be completed before the next begins

A

Waterfall Model

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

An iterative and incremental approach that emphasizes flexibility, collaboration, and customer feedback

A

Agile Development

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
A specific Agile framework that organizes work into time-boxed iterations called sprints, typically lasting 2-4 weeks
Scrum
26
time-boxed iterations
sprints
27
Scrum Roles
Scrum Master Product Owner Devt Team
28
A visual approach to managing work, emphasizing continuous delivery and limiting work in progress (WIP)
Kanban
29
An Agile methodology focused on improving software quality and responsiveness to changing requirements through frequent releases
Extreme Programming (XP)
30
An approach, focusing on eliminating waste and maximizing value
Lean Software Development
31
A methodology that combines development (Dev) and operations (Ops) to improve collaboration, automation, and integration
DevOps
32
Focuses on delivering tangible, working software features in short iterations
Feature-Driven Development (FDD)
33
Emphasizes quick development and iteration of prototypes over rigorous planning and testing
Rapid Application Development (RAD)
34
A risk-driven approach that combines iterative development with the systematic aspects of the Waterfall model
Spiral Model
35
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
36
Programming Languages
JavaScript Python Java C# Swift Kotlin
37
Frameworks
Web Development - React - Angular - Vue.js Back-End Development - Node.js - Django - Ruby on Rails Mobile Development - Flutter - React Native
38
Integrated Development Environments (IDEs)
- Visual Studio - Eclipse - PyCharm - Xcode - Android Studio
39
Version Control Systems
- Git - GitHub - GitLab
40
Database Management Systems
- SQL Databases - NoSQL Databases - ORM Tools
41
Testing Tools
- JUnit - Selenium - Jest - Postman
42
Deployment and Continuous Integration/Continuous Deployment (CI/CD) Tools
- Docker - Kubernetes - Jenkins - CircleCI
43
Cloud Platforms
- Amazon Web Services (AWS) - Microsoft Azure - Google Cloud Platform (GCP)
44
API Development Tools
- Swagger/OpenAPI - Postman - GraphQL
45
Collaboration and Project Management Tools
- Jira - Trello - Slack
46
Widely used for web development (front-end and back-end with Node.js)
JavaScript
47
Popular for web applications, data analysis, and machine learning
Python
48
Commonly used for enterprise applications and Android development
Java
49
Used for Windows applications and game development with Unity
C#
50
Primary language for iOS application development
Swift
51
Official language for Android development
Kotlin
52
A JavaScript library for building user interfaces
React
53
A framework for building single-page applications (SPAs)
Angular
54
A progressive JavaScript framework for building UIs
Vue.js
55
JavaScript runtime for building server-side applications
Node.js
56
A Python framework for building web applications quickly
Django
57
A web application framework written in Ruby
Ruby on Rails
58
A UI toolkit for building natively compiled applications for mobile, web, and desktop from a single codebase
Flutter
59
A framework for building mobile apps using React
React Native
60
A powerful IDE for .NET and C# development
Visual Studio
61
Commonly used for Java development
Eclipse
62
An IDE specifically for Python development
PyCharm
63
The official IDE for iOS and macOS development
Xcode
64
The official IDE for Android development
Android Studio
65
A distributed version control system widely used in software development
Git
66
A platform for hosting Git repositories and collaborating on projects
GitHub
67
A web-based DevOps lifecycle tool that provides a Git repository manager
GitLab
68
MySQL, PostgreSQL, Microsoft SQL Server
SQL Databases
69
MongoDB, Cassandra, Firebase
NoSQL Databases
70
Hibernate (Java), Entity Framework (C#), Sequelize (Node.js)
ORM Tools
71
A testing framework for Java applications
JUnit
72
A tool for automating web browsers for testing
Selenium
73
A JavaScript testing framework used with React applications
Jest
74
A tool for testing APIs
Postman
75
A platform for developing, shipping, and running applications in containers
Docker
76
An orchestration tool for managing containerized applications
Kubernetes
77
An open-source automation server for CI/CD
Jenkins
78
A cloud-based CI/CD tool
CircleCI
79
A comprehensive cloud platform offering computing power, storage, and other services
Amazon Web Services (AWS)
80
A cloud computing service for building, testing, and managing applications
Microsoft Azure
81
A suite of cloud computing services that runs on the same infrastructure as Google’s end-user products
Google Cloud Platform (GCP)
82
Tools for designing and documenting APIs
Swagger/OpenAPI
83
Also used for API testing and development
Postman
84
A query language for APIs that allows clients to request only the data they need
GraphQL
85
A tool for agile project management and issue tracking
Jira
86
A visual collaboration tool for organizing tasks and projects
Trello
87
A messaging platform for team communication
Slack
88
are vital for business operations and user engagement
Web applications
89
refers to the part of web applications that users interact with directly
Frontend development
90
It’s crucial for delivering a seamless user experience and ensuring accessibility across various devices
Frontend development
91
Basics of Frontend Technologies
HTML (HyperText Markup Language) CSS (Cascading Style Sheets) JavaScript
92
Provides the structure of web pages using elements and tags
HTML (HyperText Markup Language)
93
Handles the presentation layer, allowing developers to apply styles, layouts, and responsive designs
CSS (Cascading Style Sheets)
94
Popular frontend frameworks
React Angular Vue.js
95
Adds interactivity, enabling dynamic content updates without needing to refresh the page
JavaScript
96
Developed by Facebook; allows building interactive UIs with reusable components and a virtual DOM for improved performance
React
97
A TypeScript-based framework by Google; supports two-way data binding and is suitable for large-scale applications
Angular
98
A progressive framework that is easy to integrate into existing projects, known for its flexibility and simplicity
Vue.js
99
involves server-side logic and database management, ensuring that the application functions correctly and securely
Backend development
100
It serves as the backbone of a web application, handling data processing, storage, and retrieval
Backend development
101
Common languages in backend development
PHP Python Ruby Node.js
102
Widely used for web development, particularly for server-side scripting
PHP
103
Known for its readability and efficiency, popular in web frameworks like Django and Flask
Python
104
Often used with Rails framework, emphasizes convention over configuration
Ruby
105
store, manage, and retrieve data efficiently, making them crucial for web applications
Databases
106
Types of Databases
Relational Databases (RDBMS) NoSQL Databases
107
Such as MySQL and PostgreSQL, which use structured query language (SQL) to manage data in tables
Relational Databases (RDBMS)
108
Such as MongoDB and Firebase, designed for unstructured data and flexible data models
NoSQL Databases
109
Understanding the demographics, needs, and behaviors of potential users is critical for creating user-centered applications
Identifying Target Users
110
Conduct surveys, interviews, and usability tests to gather insights that inform design decisions and feature prioritization
Importance of User Research
111
List essential functionalities that address user needs, such as user authentication, data visualization, and search capabilities
Defining Key Features
112
Use techniques like MoSCoW (Must have, Should have, Could have, Won't have) to prioritize features based on user feedback and project goals
Prioritizing Functionalities for User Experience
113
requires a balanced approach to both frontend and backend components
Effective web application development
114
result from seamless collaboration between frontend and backend teams to create cohesive user experiences
Successful applications
115
have become essential in today's digital age, with varying approaches to development
Mobile applications
116
the process of creating software applications that run on mobile devices, such as smartphones and tablets
Mobile application development
117
used across various industries, from e-commerce and healthcare to education, entertainment, and finance, making mobile development a crucial skill set in today’s market
Apps
118
involves building applications specifically for one operating system, such as iOS or Android. Each app is written in the language and tools designed for the OS
Native Development
119
Uses Swift or Objective-C in Apple's Xcode environment
iOS Native Development
120
Uses Kotlin or Java in Android Studio
Android Native Development
121
Pros of Native development
Optimized Performance Enhanced User Experience (UX) Direct Access to OS Features
122
Native apps are faster and more responsive, as they’re built specifically for the device’s OS
Optimized Performance
123
Native apps have access to OS-specific UI components, resulting in a consistent and familiar look and feel for users on each platform
Enhanced User Experience (UX)
124
Native apps can directly utilize device features like the camera, GPS, sensors, and other hardware functions without requiring additional configurations
Direct Access to OS Features
125
Cons of Native development
Higher Development Cost Limited to One Platform
126
Since native development requires separate codebases for each platform (iOS and Android), it often involves hiring different development teams, leading to higher costs
Higher Development Cost
127
Apps developed for a single platform cannot run on other OS platforms without being entirely rewritten
Limited to One Platform
128
allows developers to create applications that can run on multiple operating systems with a single codebase
Cross-platform development
129
Pros of Cross Platform
Cost-Effective Faster Development and Deployment Broader Market Reach
130
By using a single codebase for multiple platforms, cross-platform development reduces the need for separate teams and streamlines resources, resulting in lower costs
Cost-Effective
131
With one codebase, developers can build and deploy applications on multiple platforms simultaneously
Faster Development and Deployment
132
A cross-platform app can target both iOS and Android users without additional development effort, widening the app’s audience.
Broader Market Reach
133
Cons of Cross Platform
Slightly Reduced Performance Complex Code Structure for Advanced Features
134
Cross-platform apps may not perform as smoothly as native apps, especially for resource-intensive features
Slightly Reduced Performance
135
Certain platform-specific or performance-intensive functionalities may require custom native code, adding complexity to the codebase and potentially reducing the efficiency gained from cross-platform development
Complex Code Structure for Advanced Features
136
Choosing between native and cross platform
Target audience and platform (iOS, Android, both). Budget and resource availability. App complexity and required performance.
137
An open-source framework developed by Facebook for building mobile apps using JavaScript and React.
React Native
138
Allows developers to create applications for both iOS and Android with a shared codebase
React Native
139
Used by leading companies, such as Facebook, Instagram, Airbnb, and Tesla, due to its efficiency and flexibility.
React Native
140
Write once, run anywhere – reduces development time and cost by sharing code across platforms
React Native
141
A popular, lightweight code editor from Microsoft, widely used for cross-platform frameworks like React Native and Flutter
VS Code (Visual Studio Code)
142
These are widely used design tools that allow UI/UX designers to create interactive, high-fidelity prototypes
figma sketch adobe xd
143
allows developers to track changes, work collaboratively, and manage code versions
git
144
a platform for hosting repositories, enabling teams to work together and review code changes
github
145
it is crucial for user satisfaction and app success
Good UI/UX
146
Defines the approach and framework for development
Research Design
147
Gathering relevant information to make informed decisions during the design, development, and testing phases
Data collection
148
process of examining the collected data to gain insights, make decisions, and optimize the app
Data Analysis
149
an essential skill in the digital age, catering to diverse sectors
Mobile application development
150
refers to how many features and functions an app has, as well as how intricate those features are
App complexity
151
about how fast and smooth the app needs to run
Required performance
152
facilitate teamwork and maintain code history
Version control and collaboration platforms
153
basic structure and layout
Wireframe
154
interactive version to test the app’s functionality
Prototype
155
framework that guides the planning, execution, and analysis of a study (problem definition, objectives and goals)
Research design
156
makes it possible for cross-platform apps to work on both iOS and Android, but this additional processing can slightly impact performance, especially with demanding features
abstraction layer