Application Flashcards

(140 cards)

1
Q

What is an application?

A

A software program designed to perform specific task for user applications are created to solve spec specific problems or perform specific tasks, such as communication , entertainment, business processes , or productivity.

Example: Microsoft Word is an application used for word processing.

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

What is development?

A

Refers to the process of designing, building, and maintaining software applications.

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

What is software?

A

A set of instructions, data, or programs used to operate computers and execute specific tasks.

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

What is application development?

A

The process of creating software application that perform specific task or function.

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

What are web applications?

A

Applications that run on web browser and are accessible through URLs(Gmail, Facebook).

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

What are mobile applications?

A

Applications designed for web mobile devices like smartphone and tablets.

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

What are desktop applications?

A

Applications installed on personal computers and run directly on the operating system.

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

What is frontend?

A

The part of the application that users interact with.it involves user interface (UI) and user experience (UX )design.

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

What is backend?

A

The server side of the application , responsible , for processing , data , business logic, and database interactions.

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

What is a database?

A

Stores and manages data used by the application.

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

What is Waterfall?

A

A linear approach where each phase is completed before moving on to the next.

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

What is Agile?

A

An iterative approach that involves continuous planning, development, and testing . it allows for flexibility and adaption to changes.

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

What is DevOps?

A

A methodology that integrates development and operations to improve collaboration and deployment efficiency.

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

What is Requirement Gathering?

A

Understanding what the application need to do.

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

What is Planning?

A

Defining the project scope, timeline, and resources.

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

What is Design?

A

Creating wireframes, mockups, and architecture diagrams.

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

What is Testing?

A

Ensuring the application works as expected , with no bugs.

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

What is Deployment?

A

Releasing the application to user.

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

What is Maintenance?

A

Ongoing updates and fixes to keep the application running smoothly.

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

What is Security?

A

Protecting the application from cyber threats.

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

What is Scalability?

A

Ensuring the application can handle increased user traffic.

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

What is User Experience?

A

Designing intuitive and user-friendly interfaces.

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

What is Integration?

A

Ensuring the application works well with other systems and services.

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

What is an Application Developer?

A

Creates and test application designed for electronic computing devices.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
What are Programming Languages?
Knowledge of languages like java, python, c#, JavaScript , or others depending on the application type.
26
What is Software Development Lifecycle?
Understanding of methodologies like agile, scrum, or waterfall.
27
What is a Version Control System?
Proficiency with tools like Git for managing code changes.
28
What is Database Management?
Skills in working with databases like SQL, NoSQL, or others for data storage and retrieval.
29
What is Front-end Development?
Familiarity with HTML, CSS and JavaScript frameworks if working on web application.
30
What is Back-end Development?
Experience with server-side technologies, frameworks, and API development.
31
What are Frameworks and Libraries?
Knowledge of popular frameworks(REACT, ANGULAR, SPRING)and libraries.
32
What is Testing and Debugging?
Ability to write and execute test, and debug code effectively.
33
What are Security Best Practices?
Understanding of security principles to protect against vulnerabilities.
34
What is Problem-Solving?
Ability to identify issues and develop effective solutions.
35
What is Communication?
Clear communication with team members, stakeholders, and users.
36
What is Collaboration?
Working effectively within a team, including with designer, tester, and project managers.
37
What is Time Management?
Efficiently managing time to meet deadlines and handle multiple tasks.
38
What is Adaptability?
Flexibility to learn new technologies and adapt to changing requirements.
39
What is DevOps Knowledge?
Familiarity with continuous integration/ continuous deployment(CI/CD)practices.
40
What are Cloud Services?
Experience with cloud platforms like AWS, Azure , or Google Cloud.
41
What is User Experience (UX) Design?
Understanding or user- experience centered design principles.
42
What is Java?
Widely used for enterprise application, android apps, and web .known for its portability and robustness.
43
What is Python?
Popular for web development with frameworks like Django, and flask, data science, machine learning, and scripting.
44
What is C#?
Used primarily for windows applications and web development with ASP.NET. Common in game development with unity.
45
What is JavaScript?
Essential for web development used for both client-side with frameworks like React, angular, and Vue and server-side development with Node.js.
46
What is Ruby?
Known for its use in web development, game development, applications requiring high performance.
47
What is Swift?
The primary language for IOS and macOS development.
48
What is Kotlin?
Officially supported for android development, often used alongside or as a replacement for java.
49
What is TypeScript?
A superset of JavaScript that add static types. often used in large-scale web application.
50
What is PHP?
Widely used for server-side scripting and web development.
51
What is SQL?
Essential for database management and manipulation.
52
What is Go (Golang)?
Known for its efficiency and performance in backend development and cloud services.
53
What is Rust?
Gaining popularity for system -level programming due to its focus on safety and performance.
54
What is Perl?
Used for scripting, web development, and text processing.
55
What is COBOL?
Still used in legacy system. particularly in financial institutions and mainframes.
56
What is Shell Scripting?
Used for automating task and managing system operations.
57
What is PowerShell?
Used for automation and configuration management in windows environments.
58
What are User Requirements?
Describes what user expect from system.
59
What are System Requirements?
Define the functions, constraints, and qualities of the system.
60
What are Functional Requirements?
Define what the system should do.
61
What are Non-Functional Requirements?
Specify how the system performs certain functions.
62
INTERVIEWS
Structured or unstructured interviews with stakeholders to gather information.
63
SURVEY AND QUESTIONNAIRES
collecting data from a large number of users by sending out structured questionnaires. Example: Distributing surveys to gather feedback on user preferences.
64
WORKSHOPS
collaborative sessions where stakeholders and developers discuss requirements in detail.
65
Observation
observing users interacting with the current system to identify unmet needs.
66
Creating early mockups or prototypes to gather feedback.
PROTOTYPING
67
Once the requirements gathered, they need to be documented clearly and systematically.
REQUIREMENT DOCUMENTATION
68
A detailed document that describes all the functional and non-functional requirements of the system.
SOFTWARE REQUIREMENTS SPECIFICATION
69
Describe how users will interact with the system.
USE CASES
70
Short, simple description of a feature from the perspective of the end-user.
USER STORIES
71
Process of creating abstract representations of a system's structure, data, and process.
MODELING TECHNIQUES
72
Diagram is like a pathway that shows how information moves from one place to another.
DATA FLOW
73
Symbol represents an action or tasks.
PROCESS
74
Something like a group or a person.
ENTITY
75
Storage place where information is kept.
DATA STORE
76
Represent a table in a relational database, often corresponding to real-world objects or concepts.
ENTITY
77
Depict the properties or fields of an entity.
ATTRIBUTES
78
Illustrate how entities are related, including one-to-one, one-to-many, and many-to-many relationships.
RELATIONSHIPS
79
Identifies a unique attribute or combination of attributes that uniquely identifies each entity instance.
PRIMARY KEY
80
Represent a link between entities and enforce referential integrity in the database.
FOREIGN KEY
81
When designing a relational database, use ERDs to define tables, their attributes, and relationships between them.
DATABASE DESIGN
82
ERDs are essential for modeling and understanding data requirements, ensuring data integrity and organizing database schemas.
DATA MODELING
83
ERDs serve as valuable documentation for database administrators and developers, describing the database's structure and constraints.
DATABASE DOCUMENTATION
84
A standardized modeling language used to specify, visualize, and document the components of a software system.
UNIFIED MODELING LANGUAGE- a .
85
Represent the structure of a system by showing its classes and relationships.
CLASS DIAGRAMs.
86
Show the interaction between system components over time.
SEQUENCE DIAGRAM
87
Represent a blueprint for an object, defining its attributes (data members) and methods (functions).
CLASS
88
Depicts relationships between classes, including one-to-one, one-to-many, and many-to-many associations.
ASSOCIATION
89
Illustrates the inheritance hierarchy, indicating which classes inherit from others.
INHERITANCE
90
Represent relationships between whole-part entities, such as a car and its engine.
AGGREGATION AND COMPOSITION
91
Show the properties (attributes) and behaviors (methods) of a class.
ATTRIBUTES AND OPERATIONS-
92
If you are working on an object-oriented software project and need to represent classes, objects, and their relationships, use a class diagram.
DESIGNING OBJECT-ORIENTED SYSTEMS
93
Class diagrams are useful for visualizing the static structure of a software system, including class hierarchies, interfaces, and dependencies.
MODELING SOFTWARE ARCHITECTURE
94
Class diagrams are often employed in collaborative design sessions to facilitate discussions among developers, designers, and stakeholders.
COLLABORATIVE DESIGN
95
Show the states of an object or system and the transitions between these states based on events.
STATE TRANSITION DIAGRAMS
96
Provides foundational guidelines to help developers create robust, maintainable, and scalable software.
DESIGN PRINCIPLES AND PATTERNS
97
These principles reduce errors by encouraging clean and modular code.
IMPROVED CODE QUALITY
98
Design patterns help create scalable solutions by making the system easy to extend.
SCALABILITY
99
Good design practices make code easier to update and debug over time.
MAINTAINABILITY
100
Involves breaking down a system into smaller, interchangeable, self-contained modules.
MODULAR DESIGN
101
Modules can be reused in different parts of the application or across projects.
REUSABILITY
102
Bugs are easier to locate and fix in a modular system.
MAINTAINABILITY
103
Modules can be scaled independently to handle increased load.
SCALABILITY
104
A class should have only one reason to change, meaning it should focus on a single task or responsibility.
SINGLE RESPONSIBILITY PRINCIPLE
105
Software entities should be open for extension but closed for modification.
OPEN/CLOSED PRINCIPLES
106
Objects of a superclass should be replaceable with objects of its subclass without altering the correctness of the program.
LISKOV SUBSTITUTION PRINCIPLE
107
Clients should not be forced to depend on interfaces they do not use.
INTERFACE SEGREGATION PRINCIPLES
108
High-level modules should not depend on low-level modules.
DEPENDENCY INVERSION PRINCIPLE
109
Refers to dividing a software system into distinct sections, where each section addresses a specific functionality or concern.
SEPARATION OF CONCERNS
110
Each concern can be handled independently.
REDUCED COMPLEXITY
111
Provides a way to delegate the instantiation of objects to subclasses.
Factory Pattern
112
Ensures a class has only one instance and provides a global access point.
Singleton Pattern
113
A one-to-many dependency where an object notifies multiple observers about state changes.
Observer Pattern
114
-Refers to a system's ability to handle increased loads by adding resources.
Scalability
115
Each service is independent and can scale individually based on the demand.
Microservices Architecture
116
The process of building an early, simplified version of a product to test ideas, gather feedback, and make improvements before full development begins.
Prototyping
117
Involves a set of practices designed to ensure that the software meets both functional and non-functional requirements.
Quality Assurance
118
Analyzes code without executing it.
STATIC ANALYSIS
119
A manual QA process where developers examine each other's code to ensure it meets quality standards and is free from errors.
Code Reviews
120
Code reviews help developers learn from one another and share best practice.
KNOWLEDGE SHARING
121
ERROR DETECTION
Catching mistakes in logic, security, or performance early in the process.
122
CONSISTENCY
Ensures that coding practices and conventions and consistently followed across the team.
123
deal with object creation mechanisms , making object creation easier, more flexible, or more abstract.
CREATIONAL DESIGN PATTERNS
124
deal with the interaction between objects and responsibilities.
BEHAVIORAL PATTERN
125
by adding more resources (CPU, RAM) to a single server.
VERTICALLY
126
by adding more server or nodes to distribute the load.
HORIZONTALLY
127
Distribute traffic evenly across multiple servers to ensure no single server is overwhelmed.
LOAD BALANCING
128
Stores frequently accessed data in memory , reducing the time taken to retrieve it from the database.
CACHING
129
Choosing the right algorithms and data structures can significantly improve performance.
EFFICIENT ALGORITHMS
130
early prototypes can identify potential design flaws, helping avoid costly changes later in the development process.
RISK REDUCTION
131
Prototypes allow stakeholders and users to provide feedback early, ensuring the final product meets their needs.
FEEDBACK LOOP
132
Developers , Designers , and Clients can better understand the intended features and workflows of the product through a visual representation.
IMPROVED COMMUNICATION
133
catching problems during prototyping saves time and resources by reducing major rework later in the development lifecycle.
COST EFFICIENCY
134
It supports real-time collaboration and its widely used for low and high-fidelity prototypes.
FIGMA
135
A design toolkit built to help create wireframes and creating interactive prototypes, allowing designers to simulate user interaction.
SKETCH
136
A tool that allows for interactive and collaborative prototyping.
INVISION
137
How well the software responds to various loads.
PERFORMANCE
138
The probability that software will function without failure under given conditions.
REALIBILITY
139
how well the software protects against unauthorized access or attacks.
SECURITY
140
Involves running the code and observing its behavior in real-time.
DYNAMIC ANALYSIS