Software Project Management Flashcards
Project Phases
1.Software Concept
-concept
-Concept exploration
-System exploration
- Requirements
-requirements analysis
3.Analysis
-Architectural Design
4.Design.
-Detailed Design
5.Coding & Debugging
-Implementation
-Development
6.Systems Testing
-QA
- Deployment/Maintenance
-Production
-Operations
How do you reduce technical debt?
Refactoring can help
Code Branches
A branch is a copy of a codeline, managed in a version control system (VCS). Branching helps software development teams work in parallel. It separates out “in-progress work” from tested and stable code. The codebase in a VCS is often referred to as the trunk, baseline, master, or mainline.
Features vs Functions
The features of a product refer to its specific characteristics or attributes that provide a particular benefit or advantage to the user. For example, the features of a smartphone might include a high-quality camera, a large storage capacity, a long battery life, and a fast processor.
On the other hand, the functions of a product refer to what it is designed to do or the tasks it can perform. For example, the functions of a smartphone might include making phone calls, sending text messages, browsing the internet, taking pictures and videos, and running various apps.
What are some steps to take for making Technical Debt Transparent?
To make technical debt transparent, you can take the following steps:
Identify technical debt: You need to have a clear understanding of what technical debt is and what form it takes in your organization. This involves identifying code that is difficult to maintain, features that are not properly tested, documentation that is out of date, and any other issues that contribute to technical debt.
Prioritize technical debt: Once you have identified technical debt, prioritize it based on the impact it has on your product or service. You can use metrics such as customer complaints, bug reports, and maintenance costs to determine the severity of the technical debt.
Communicate technical debt: Communicate the presence and impact of technical debt to the relevant stakeholders, including developers, project managers, and business leaders. Make sure everyone understands the urgency and the potential risks involved in leaving technical debt unaddressed. Track technical debt: Keep track of technical debt over time, including the amount, severity, and progress made in addressing it. You can use tools such as code analysis software, issue tracking systems, and project management software to help you monitor technical debt.
Address technical debt: Finally, take action to address technical debt. This may involve refactoring code, improving testing processes, updating documentation, and other measures to reduce technical debt. Regularly review and update the technical debt backlog to ensure that progress is being made and that technical debt is being effectively managed. By making technical debt transparent and actively managing it, you can help ensure the long-term health and sustainability of your product or service. Regenerate response
What is Automated Build?
Core system file
. core file is created in the current directory when various errors occur. Errors such as memory-address violations, illegal instructions, bus errors, and user-generated quit signals, commonly cause this core dump. The core file that is created contains a memory image of the terminated process.
Abstraction layer
What is an abstraction layer? The abstraction layer creates a separation between two things. For programming, this is often splitting tasks into separate entities. For example, an entity A might be assigned the task of fetching an image from a database and then processing the image when retrieved.
Compile time errors
These errors occur when we violate the rules present in a syntax. The compile-time error indicates something that we need to fix before compiling the code. A compiler can easily detect these errors.
Runtime error
A runtime error is a software or hardware problem that prevents Internet Explorer from working correctly
Configuration Management Control
Set up a configuration management system to manage the software’s configuration items, including code, database schemas, and system configurations. This control ensures proper version control, traceability, and the ability to revert to previous versions if needed.
Critical Path
Set up a configuration management system to manage the software’s configuration items, including code, database schemas, and system configurations. This control ensures proper version control, traceability, and the ability to revert to previous versions if needed.
Bootstrap
Der Begriff “Bootstrap” stammt von der Redewendung “sich am eigenen Schopf aus dem Sumpf ziehen”, was bedeutet, von einem minimalen oder anfänglichen Zustand aus zu starten und schrittweise ein komplexeres oder vollständigeres System aufzubauen.
Im Programmierkontext gibt es verschiedene Verwendungen des Begriffs “Bootstrap”, von denen jede eine spezifische Bedeutung hat:
Bootstrap-Prozess: Dies bezieht sich auf die anfängliche Startsequenz eines Computersystems oder einer Anwendung. Während des Bootstrap-Prozesses werden die wesentlichen Komponenten des Systems geladen, wie das Betriebssystem, Gerätetreiber und grundlegende Bibliotheken. Der Bootstrap-Prozess beginnt typischerweise, wenn ein Computer eingeschaltet wird oder eine Anwendung gestartet wird.
Bootstrap-Code: Bootstrap-Code ist ein kleiner Codeabschnitt, der für das Initiieren des Ladens und der Ausführung eines umfangreicheren Programms verantwortlich ist. Er befindet sich oft in einem separaten Abschnitt des Programms oder in einer spezialisierten Datei. Der Bootstrap-Code ist in der Regel einfach und eigenständig und dient dazu, die Ausführung des Hauptprogramms oder Frameworks anzustoßen.
Bootstrap-Frameworks: Bootstrap-Frameworks sind vorgefertigte Toolsets, Bibliotheken und Vorlagen, die eine Grundlage für die Entwicklung von Webanwendungen bieten. Sie sollen den Prozess des Erstellens von Benutzeroberflächen und Webseiten vereinfachen und beschleunigen, indem sie vorgefertigte Komponenten, Styles und Layout-Systeme bereitstellen. Das bekannteste Beispiel ist das Bootstrap-Framework, das von Twitter entwickelt wurde und eine Sammlung von CSS- und JavaScript-Komponenten bietet.
Bootstrapping in der Statistik: In der Statistik bezieht sich Bootstrapping auf eine Resampling-Technik, die zur Schätzung der Unsicherheit oder Stichprobenverteilung einer Statistik verwendet wird. Dabei werden zufällige Stichproben mit Zurücklegen aus dem ursprünglichen Datensatz gezogen, um mehrere resampelte Datensätze zu generieren. Diese resampelten Datensätze werden dann verwendet, um die Eigenschaften der interessierenden Statistik zu schätzen, wie zum Beispiel ihren Mittelwert, ihre Varianz oder Konfidenzintervalle.
https:// protocol benefits?
Security
The links you click on in your web browser are known as ____________________.
hyperlinks
Static Content
text and images
Dynamic Content
website content that is generated or updated in real-time based on various factors such as user input, database queries, or external data sources.
example: computed price or the list of items a customer has marked for purchase
Syntax
Syntax in computer code refers to the set of rules and structure that define the correct arrangement of symbols, keywords, and punctuation to form valid and meaningful instructions or statements in a programming language.
Element
In der Programmierung bezieht sich der Begriff “Element” auf eine grundlegende Einheit oder Komponente eines Codes. Es kann sich auf verschiedene Konzepte je nach Kontext beziehen:
HTML-Element: In der Webentwicklung bezieht sich ein HTML-Element auf eine einzelne Komponente innerhalb einer HTML-Datei. Es kann beispielsweise ein Textabsatz, ein Bild, ein Formularfeld oder ein Link sein. HTML-Elemente werden durch Tags definiert, die von spitzen Klammern (<>) umschlossen sind.
Array-Element: In vielen Programmiersprachen, wie beispielsweise JavaScript, C++, oder Python, bezieht sich ein Element auf einen einzelnen Wert innerhalb eines Arrays. Ein Array ist eine Datenstruktur, die eine geordnete Sammlung von Elementen enthält. Jedes Element im Array hat eine eindeutige Position, die durch einen Index angegeben wird. Der Zugriff auf ein Array-Element erfolgt normalerweise durch Angabe des Indexwertes.
DOM-Element: Im Zusammenhang mit der Webentwicklung steht das DOM-Element für ein Element im Document Object Model (DOM). Das DOM repräsentiert die Struktur einer HTML- oder XML-Seite als Baumstruktur. Ein DOM-Element entspricht dabei einem einzelnen Knoten im Baum und kann über JavaScript oder andere Skriptsprachen manipuliert werden, um die Inhalte und das Verhalten einer Webseite zu ändern.
Insgesamt bezieht sich der Begriff “Element” in der Programmierung auf eine grundlegende Einheit, sei es in Form eines HTML-Elements, eines Array-Elements oder eines DOM-Elements. Es ist wichtig, die spezifische Bedeutung in Bezug auf den Kontext zu verstehen, in dem der Begriff verwendet wird.
Motherboard (Hauptplatine)
Das Motherboard ist die zentrale Platine, die verschiedene Hardwarekomponenten eines Computers verbindet. Es enthält Steckplätze und Anschlüsse für die CPU (Prozessor), den Arbeitsspeicher (RAM), die Grafikkarte, Speichergeräte, Netzwerkverbindungen und andere Peripheriegeräte.
Automation in Devops
Automation plays a crucial role in DevOps, enabling the rapid and consistent delivery of software. It involves automating various tasks such as build and deployment processes, testing, infrastructure provisioning, and monitoring, reducing manual effort, and minimizing human errors.
Build and Compilation Automation
Automating the build and compilation process ensures that code changes are quickly integrated, compiled, and validated. This includes tasks such as fetching dependencies, compiling source code, running unit tests, and generating artifacts.