DCIT 26 | Midterms Flashcards

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 tools

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

Phases:
Requirements
Design
Implementation
Verification
Maintenance

A

Waterfall Model

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
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
26
Q

Key Frameworks:
Scrum
Kanban
Extreme Programming (XP)

A

Agile Development

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

A specific Agile framework that organizes work into time-boxed iterations called sprints, typically lasting 2-4 weeks

A

Scrum

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

time-boxed iterations

A

sprints

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

Scrum Roles

A

Scrum Master
Product Owner
Devt Team

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

A visual approach to managing work, emphasizing continuous delivery and limiting work in progress (WIP)

A

Kanban

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

Key Elements:
Kanban board
WIP limits
continuous flow

A

Kanban

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

An Agile methodology focused on improving software quality and responsiveness to changing requirements through frequent releases

A

Extreme Programming (XP)

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

Practices:
Pair programming, test-driven development (TDD), continuous integration

A

Extreme Programming (XP)

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

An approach, focusing on eliminating waste and maximizing value

A

Lean Software Development

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

Key Principles:
Optimize the whole
eliminate waste
build quality in
deliver fast

A

Lean Software Development

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

A methodology that combines development (Dev) and operations (Ops) to improve collaboration, automation, and integration

A

DevOps

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

Key Practices:
Continuous integration
continuous delivery (CI/CD)
infrastructure as code

A

DevOps

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

Focuses on delivering tangible, working software features in short iterations

A

Feature-Driven Development (FDD)

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

Key Components:
Develop overall model
build a feature list
plan by feature
design by feature
build by feature

A

Feature-Driven Development (FDD)

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

Emphasizes quick development and iteration of prototypes over rigorous planning and testing

A

Rapid Application Development (RAD)

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

Key Components:
User feedback
iterative development
prototyping

A

Rapid Application Development (RAD)

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

A risk-driven approach that combines iterative development with the systematic aspects
of the Waterfall model

A

Spiral Model

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

Phases:
Planning
Risk Analysis
Engineering
Evaluation

A

Spiral Model

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

App Dev Tools and Technologies

A

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

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

Programming Languages

A

JavaScript
Python
Java
C#
Swift
Kotlin

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

Frameworks

A

Web Development
- React
- Angular
- Vue.js

Back-End Development
- Node.js
- Django
- Ruby on Rails

Mobile Development
- Flutter
- React Native

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

Integrated Development Environments (IDEs)

A
  • Visual Studio
  • Eclipse
  • PyCharm
  • Xcode
  • Android Studio
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
48
Q

Version Control Systems

A
  • Git
  • GitHub
  • GitLab
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
49
Q

Database Management Systems

A
  • SQL Databases
  • NoSQL Databases
  • ORM Tools
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
50
Q

Testing Tools

A
  • JUnit
  • Selenium
  • Jest
  • Postman
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
51
Q

Deployment and Continuous Integration/Continuous Deployment (CI/CD) Tools

A
  • Docker
  • Kubernetes
  • Jenkins
  • CircleCI
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
52
Q

Cloud Platforms

A
  • Amazon Web Services (AWS)
  • Microsoft Azure
  • Google Cloud Platform (GCP)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
53
Q

API Development Tools

A
  • Swagger/OpenAPI
  • Postman
  • GraphQL
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
54
Q

Collaboration and Project Management Tools

A
  • Jira
  • Trello
  • Slack
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
55
Q

Widely used for web development (front-end and back-end with Node.js)

A

JavaScript

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

Popular for web applications, data analysis, and machine learning

A

Python

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

Commonly used for enterprise applications and Android development

A

Java

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

Used for Windows applications and game development with Unity

A

C#

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

Primary language for iOS application development

A

Swift

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

Official language for Android development

A

Kotlin

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

A JavaScript library for building user interfaces

A

React

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

A framework for building single-page applications (SPAs)

A

Angular

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

A progressive JavaScript framework for building UIs

A

Vue.js

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

JavaScript runtime for building server-side applications

A

Node.js

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

A Python framework for building web applications quickly

A

Django

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

A web application framework written in Ruby

A

Ruby on Rails

67
Q

A UI toolkit for building natively compiled applications for mobile, web, and desktop from a single codebase

A

Flutter

68
Q

A framework for building mobile apps using React

A

React Native

69
Q

A powerful IDE for .NET and C# development

A

Visual Studio

70
Q

Commonly used for Java development

A

Eclipse

71
Q

An IDE specifically for Python development

A

PyCharm

72
Q

The official IDE for iOS and macOS development

A

Xcode

73
Q

The official IDE for Android development

A

Android Studio

74
Q

A distributed version control system widely used in software development

A

Git

75
Q

A platform for hosting Git repositories and collaborating on projects

A

GitHub

76
Q

A web-based DevOps lifecycle tool that provides a Git repository manager

A

GitLab

77
Q

MySQL, PostgreSQL, Microsoft SQL Server

A

SQL Databases

78
Q

MongoDB, Cassandra, Firebase

A

NoSQL Databases

79
Q

Hibernate (Java), Entity Framework (C#), Sequelize (Node.js)

A

ORM Tools

80
Q

A testing framework for Java applications

A

JUnit

81
Q

A tool for automating web browsers for testing

A

Selenium

82
Q

A JavaScript testing framework used with React applications

A

Jest

83
Q

A tool for testing APIs

A

Postman

84
Q

A platform for developing, shipping, and running applications in containers

A

Docker

85
Q

An orchestration tool for managing containerized applications

A

Kubernetes

86
Q

An open-source automation server for CI/CD

A

Jenkins

87
Q

A cloud-based CI/CD tool

A

CircleCI

88
Q

A comprehensive cloud platform offering computing power, storage, and other services

A

Amazon Web Services (AWS)

89
Q

A cloud computing service for building, testing, and managing applications

A

Microsoft Azure

90
Q

A suite of cloud computing services that runs on the same infrastructure as Google’s end-user products

A

Google Cloud Platform (GCP)

91
Q

Tools for designing and documenting APIs

A

Swagger/OpenAPI

92
Q

Also used for API testing and development

A

Postman

93
Q

A query language for APIs that allows clients to request only the data they need

A

GraphQL

94
Q

A tool for agile project management and issue tracking

A

Jira

95
Q

A visual collaboration tool for organizing tasks and projects

A

Trello

96
Q

A messaging platform for team communication

A

Slack

97
Q

are vital for business operations and user engagement

A

Web applications

98
Q

refers to the part of web applications that users interact with directly

A

Frontend development

99
Q

It’s crucial for delivering a seamless user experience and ensuring accessibility across various devices

A

Frontend development

100
Q

Basics of Frontend Technologies

A

HTML (HyperText Markup Language)
CSS (Cascading Style Sheets)
JavaScript

101
Q

Provides the structure of web pages using elements and tags

A

HTML (HyperText Markup Language)

102
Q

Handles the presentation layer, allowing developers to apply styles, layouts, and responsive designs

A

CSS (Cascading Style Sheets)

103
Q

Adds interactivity, enabling dynamic content updates without needing to refresh the page

A

JavaScript

104
Q

Developed by Facebook; allows building interactive UIs with reusable components and a virtual DOM for improved performance

A

React

105
Q

A TypeScript-based framework by Google; supports two-way data binding and is suitable for large-scale applications

A

Angular

106
Q

A progressive framework that is easy to integrate into existing projects, known for its flexibility and simplicity

A

Vue.js

107
Q

involves server-side logic and database management, ensuring that the application functions correctly and securely

A

Backend development

108
Q

It serves as the backbone of a web application, handling data processing, storage, and retrieval

A

Backend development

109
Q

Widely used for web development, particularly for server-side scripting

A

PHP

110
Q

Known for its readability and efficiency, popular in web frameworks like Django and Flask

A

Python

111
Q

Often used with Rails framework, emphasizes convention over configuration

A

Ruby

112
Q

JavaScript runtime built on Chrome’s V8 engine, allowing developers to use JavaScript for server-side scripting

A

Node.js

113
Q

store, manage, and retrieve data efficiently, making them crucial for web applications

A

Databases

114
Q

Types of Databases

A

Relational Databases (RDBMS)
NoSQL Databases

115
Q

Such as MySQL and PostgreSQL, which use structured query language (SQL) to manage data in tables

A

Relational Databases (RDBMS)

116
Q

Such as MongoDB and Firebase, designed for unstructured data and flexible data models

A

NoSQL Databases

117
Q

Understanding the demographics, needs, and behaviors of potential users is critical for creating user-centered applications

A

Identifying Target Users

118
Q

Conduct surveys, interviews, and usability tests to gather insights that inform design decisions and feature prioritization

A

Importance of User Research

119
Q

List essential functionalities that address user needs, such as user authentication, data visualization, and search capabilities

A

Defining Key Features

120
Q

Use techniques like ___ to prioritize features based on user feedback and project goals

A

MoSCoW (Must have, Should have, Could have, Won’t have)

121
Q

requires a balanced approach to both frontend and backend components

A

Effective web application development

122
Q

result from seamless collaboration between frontend and backend teams to create cohesive user experiences

A

Successful applications

123
Q

have become essential in today’s digital age, with varying approaches to development

A

Mobile applications

124
Q

the process of creating software applications that run on mobile devices, such as smartphones and tablets

A

Mobile application development

125
Q

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

A

Apps

126
Q

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

A

Native Development

127
Q

Uses Swift or Objective-C in Apple’s Xcode environment

A

iOS Native Development

128
Q

Uses Kotlin or Java in Android Studio

A

Android Native Development

129
Q

Pros of Native development

A

Optimized Performance
Enhanced User Experience (UX)
Direct Access to OS Features

130
Q

Native apps are faster and more responsive, as they’re built specifically for the device’s OS

A

Optimized Performance

131
Q

Native apps have access to OS-specific UI components, resulting in a consistent and familiar look and feel for users on each platform

A

Enhanced User Experience (UX)

132
Q

Native apps can directly utilize device features like the camera, GPS, sensors, and other hardware functions without requiring additional configurations

A

Direct Access to OS Features

133
Q

Cons of Native development

A

Higher Development Cost
Limited to One Platform

134
Q

Since native development requires separate codebases for each platform (iOS and Android), it often involves hiring different development teams, leading to higher costs

A

Higher Development Cost

135
Q

Apps developed for a single platform cannot run on other OS platforms without being entirely rewritten

A

Limited to One Platform

136
Q

allows developers to create applications that can run on multiple operating systems with a single codebase

A

Cross-platform development

137
Q

Pros of Cross Platform

A

Cost-Effective
Faster Development and Deployment
Broader Market Reach

138
Q

By using a single codebase for multiple platforms, cross-platform development reduces the need for separate teams and streamlines resources, resulting in lower costs

A

Cost-Effective

139
Q

With one codebase, developers can build and deploy applications on multiple platforms simultaneously

A

Faster Development and Deployment

140
Q

A cross-platform app can target both iOS and Android users without additional development effort, widening the app’s audience.

A

Broader Market Reach

141
Q

Cons of Cross Platform

A

Slightly Reduced Performance
Complex Code Structure for Advanced Features

142
Q

Cross-platform apps may not perform as smoothly as native apps, especially for resource-intensive features

A

Slightly Reduced Performance

143
Q

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

A

Complex Code Structure for Advanced Features

144
Q

Choosing between native and cross platform

A

Target audience and platform (iOS, Android, both).

Budget and resource availability.

App complexity and required performance.

145
Q

An open-source framework developed by Facebook for building mobile apps using JavaScript and React.

A

React Native

146
Q

Allows developers to create applications for both iOS and Android with a shared codebase

A

React Native

147
Q

Used by leading companies, such as Facebook, Instagram, Airbnb, and Tesla, due to its efficiency and flexibility.

A

React Native

148
Q

Write once, run anywhere – reduces development time and cost by sharing code across platforms

A

React Native

149
Q

A popular, lightweight code editor from Microsoft, widely used for cross-platform frameworks like React Native and Flutter

A

VS Code (Visual Studio Code)

150
Q

it is crucial for user satisfaction and app success

A

Good UI/UX

151
Q

Importance of UI/UX

A

User-centered design
First impressions matter
Improved user retention

152
Q

Design Process of UI/UX

A

User Research and Personas
Wireframing and Prototyping
User Testing and Feedback

153
Q

Defines the approach and framework for development

A

Research Design

154
Q

Gathering relevant information to make informed decisions during the design, development, and testing phases

A

Data collection

155
Q

process of examining the collected data to gain insights, make decisions, and optimize the app

A

Data Analysis

156
Q

an essential skill in the digital age, catering to diverse sectors

A

Mobile application development

157
Q

refers to how many features and functions an app has, as well as how intricate those features are

A

App complexity

158
Q

about how fast and smooth the app needs to run

A

Required performance

159
Q

facilitate teamwork and maintain code history

A

Version control and collaboration platforms

160
Q

basic structure and layout

A

Wireframe

161
Q

interactive version to test the app’s functionality

A

Prototype

162
Q

framework that guides the planning, execution, and analysis of a study (problem definition, objectives and goals)

A

Research design

163
Q

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

A

abstraction layer