ITS 305 - Chapter 3: Software Development Principles

¡Supera tus tareas y exámenes ahora con Quizwiz!

Queues

-A first-in, first-out collection of objects. -Enqueue adds an item to the back of the queue and Dequeue removes the item that was added to the queue first. -The capacity of a queue is the number of elements the queue can hold. -As elements are added to a queue, the capacity is automatically increased as required through reallocation. -The capacity can be decreased by calling TrimToSize.

Array

-An array is a data structure in which you can store multiple variables of the same type. -Collection of items stored in a contiguous memory location and addressed using one or more indices. -Each element in the array has an index. -The indexes are zero-based so it starts at 0. -You can access the elements in the array by using the index.

Increment

When items in the Sprint is done, it is then part of the sum of all previous Sprints.

Software Testing

Verifies that the implementation matches the requirements of the system.

Software Quality Assurance Specialist

"You are the exterminator: our last line of defense against bugs. You test. You re-test. Then you test again. You'll make sure our mobile apps and responsive sites work as promised, the documentation is up to snuff, and our development process runs smoothly. Nothing we make sees the light of day until you and your team say it's ready." An excerpt from a job description for a Software Quality Assurance Specialist

Application Lifecycle Management (ALM) and Software Development Life Cycle (SDLC) Order is?

1 - Requirements gathering. 2 - Design. 3 - Development. 4 - Testing. 5 - Deployment and Maintenance.

SCRUM Artifacts

1 Product Backlog 2 Sprint backlog 3 Increment

Application Lifecycle

1: Plan and Track 2: Develop 3: Build and test 4: Deploy 5: Operate 6: Monitor and Learn

The 5 SCRUM Events

1: The Sprint 2: Sprint Planning 3: Daily Scrum 4: Sprint Review 5: Sprint Retrospective

Basic Git workflow

1: You modify files in your working tree. 2: You selectively stage just those changes you want to be part of your next commit, which adds only those changes to the staging area. 3: You do a commit, which takes the files as they are in the staging area and stores that snapshot permanently to your Git directory.

Git

A DevOps tool used for source code management. It is a free and open-source version control system used to handle small to very large projects efficiently. Used to track changes in source code, enabling multiple developers to work together on non-linear development. You do not need an internet connection to work with git. Github is a website and hosting platform for git repos in the cloud.

Singly Linked List

A Single linked lists contain nodes which have a data part and an address part. (Next) which points to the next node in the sequence of nodes. The next pointer of the last node will point to null, so backtracking is not possible.

Sprint

A fixed length event (development cycle) of one month or less.

Versioning

A great way to keep track of application builds by being able to identify which version is currently in development.

Stacks

A last-in, first-out collection of objects. Push adds an item to the stack, pop removes the last item in the stack.

Linked List

A linked list is a linear data structure which consists of a group of nodes in a sequence. Each node contains two parts: -Data: Each node of a linked list can store a data. -Address: each node of a linked list contains an address to the next node, called "Next". Head: The first node of a linked list is referenced by a pointer called head. Adding and removing nodes: you can add nodes anywhere in a linked list. Insertion and deletion is easy to implement. Number of nodes: The number of nodes in a linked list can grow or shrink on demand. Sorting: A linked list is a sequential data structure and cannot easily be sorted in another order. Data Storage: Each node of a linked list can store data. Effective Memory Management: They are dynamic in nature and allocate memory as and when required. Since there is no need to define an initial size for a linked list, memory utilization is effective. Performance: It has faster access time and can be expanded without memory overhead. Backtracking is possible in doubly linked lists.

Transport Layer Security (TLS)

A widely adopted security protocol designed to facilitate privacy and data security for communications over the Internet. A primary use case of TLS is encrypting the communication between web applications and servers, such as web browsers loading a website. TLS can also be used to encrypt other communications such as email, messaging, and voice over IP (VoIP).

Product Backlog

All items that need to be developed.

Version Control Systems

Allow you to compare files, identify differences, and merge the changes if needed prior to committing any code.

git commit--amend

Amending a commit.

Git Bash

An application for Microsoft Windows environments which provides an emulation layer for a Git command line experience.

HTTPS

An implementation of TLS encryption on top of the HTTP protocol, which is used by all websites as well as some other web services. Any website that uses HTTPS is therefore employing TLS encryption.

git revert commithas

An inverse of a commit is applied from the project history. A new commit is made from previous commits, but the bad commit is still kept in the project history.

BubbleSort Algorithm

BubbleSort works by comparing two elements to check whether they are out of order; if they are, it swaps them. The algorithm continues to do this until the entire list is in the desired order. BubbleSort Gets its name from the way the algorithm works: As the algorithm progresses, the smaller items are "bubbled" up.

Ways to prevent an SQL Injection attack:

Cleanse and Validate Freeform User Input. Also using parameterized stored procedures.

SQL Injection attack

Code injection technique used to attack data-driven applications, in which malicious SQL statements are inserted into an entry field for execution.

Design Phase

Consists of designing models, plans and architecture for how the software will be developed and implemented.

Git Command: mkdir

Creates a new directory (folder) or directories. It creates each directory specified on the command line in the order given. It reports an error if the directory already exists.

Git Init

Creates a new git repository (repo) from scratch. It adds a .git directory to the directory.

User-Experience Designer

Creates the user experience of the system. This includes designing the user interface (UI) elements and designing navigation between various forms, screens or pages.

git reset -hard commithash

Deletes a commit and moves the HEAD pointer to the previous commit.

Architect

Designs the technical blueprint of the system. This includes identifying components and services, their behavior, and how they interact with each other and with the external world.

git restore filename

Discards changers in a file since the last commit.

Technical specification

Document defines the requirements for a project, product, or system.

Business Analyst

Employs various business analytics tools and approaches to boost the effectiveness and productivity of business processes. When doing business analysis, a business analyst's primary responsibility is requirements management. The role of the business analyst is to sustain requirements through ongoing change by utilizing innovation in the complicated modern corporate environment.

Characteristics of a good unit test are:

Fast, Isolated, Repeatable, Self-Checking, Timely.

Untracked files

Files in your working directory that were not in your last snapshot and re not in your staging area.

Tracked files

Files that were in the last snapshot, as well as any newly staged files; they can be unmodified, modified, or staged.

Git clone

Gets a local copy of an existing repository

Public key Cryptography and PKIs

In a Web app that hosts APIs on different cloud providers, you need to securely transport messages between senders and recipients. You encrypt a message with a public key. The destination needs a private key to decrypt the message.

Doubly Linked list

In a doubly linked list, each node contains two links - the first link points to the previous node and the next link points to the next node in the sequence. The previous pointer of the first node and the next pointer of the last node will point to null. Backtracking is possible - it is easy to traverse.

Circular linked list:

In the circular linked list, the next of the last node will point to the first node, thus forming a circular chain. Backtracking is not possible.

Doubly Circular linked list

In this type of linked list the next of the last node will point to the first node and the previous pointer of the first node will point to the last node. Backtracking is possible.

Sprint Review Meeting

Inspect the outcome of the sprint and determine future adaptations. Product - focused.

Technical Support Specialist

Is responsible for assisting customers with technical issues or questions relating to computer hardware or software devices. Their duties include taking phone calls from customers or communicating with them through messaging platforms, helping customers diagnose technical issues over the phone and speaking with them about installing hardware or software on their computers.

Solutions Architect

Is responsible for creating a comprehensive architecture for a software solution and providing strategic direction throughout the development process. Having a clear vision for the project, and a clear understanding of the client's business needs, a solutions architect maps out the parts that will constitute the software solution and how they are going to work together.

Sprint Backlog

Items to be completed during the Sprint

Sprint planning meeting

Laying out the work to be performed. Entire scrum team. What work will be done and how to get it done. What the definition of done is.

Business Analyst

Responsible for analyzing business needs and converting them into requirements that can be executed by the development team.

Git Command: is

List contents in the current directory

Branching

Means you diverge away from the main line of development and continue to do work independently from other branches. At some point the coding files are merged again to the parent branch.

Software Developers

Meet with business leaders to learn about a company's needs. They then manage the creation or change of software to meet those needs. A software developer will code the software using the pertinent programming language or supervise a team that does so.

Git's three main states that files can reside in are?

Modified - means that you have changed the file but have not committed it to your database yet. Staged - Means that you have marked a modified file in its current version to go into your next commit snapshot. Committed - means that the data is safely stored in your local datagbase.

Maintenance Phase

Occurs once the system is operational. It includes implementation of changes that software might undergo over a period of time, or implementation of new requirements after the software is deployed at the customer location.

Rate limiting

Occurs when a client makes too many requests in a given period of time against an API. It protects against API overuse, which is not necessarily malicious or due to bot activity, but is important to prevent nonetheless. It blocks users, bots, or applications that are over-using or abusing a web property. It can stop certain kinds of bot attacks and is often employed to stop bad bots from negatively impacting a website or application.

git restore -source HEAD~1

Restores to the state of a specified number of commits ago: Head~1 means 1 commit ago.

Alpha testing

Performed by a limited group of users, and it is an opportunity to provide an early look at the product to the most important customers and gather feedback.

Acceptance Testing

Performed by the customers themselves. Has two levels - Alpha and Beta.

Sprint Retrospective Meeting

Plan ways to increase quality and effectiveness. Team - focused.

Touch Command

Primarily used to create and modify files in the system.

Beta Testing

Release the product to a wider audience of customers and solicit feedback. In terms of functionality the beta release of the software is very close to the final release.

Dictionaries

Represents a collection of data consisting of key/value pairs. The key will be a unique value in the Dictionary, but the same value can be assigned to more than one key. You can iterate through the items in a dictionary to retrieve the key-value pair. The dictionary class in C# represents a generic data structure that can contain keys and values of data. Hence you can store data of any type in a Dictionary instance. The dictionary class is contained inside the System.Collections.Generic namespace.

White-box Testing

Testers use their knowledge of system internals when testing the system. The testers have access to the source code.

Quicksort Algorithm

The Quicksort algorithm uses the partitioning and comparison operations to arrange the elements of a list in the correct order: 1: Pick any element in the list as a pivot element. 2: Then, partition the list in such a way that all elements smaller than or equal to the pivot element go into the left list and all elements bigger than the pivot element go into the right list. 3: Now, the combination of the left list, pivot element, and right list is always in sorted order if the left and the right list are in sorted order. 4: The problem is now partitioned into two smaller lists, the left list and the right list. 5: Both of these lists are solved using the technique described in the bullets above. 6: Finally, all the small sorted lists are merged in order to create the final complete sorted list.

Which two types of information should be included in an effective test case?

The expected result from the test case and Multiple actions combined as a single step to test the case.

User Acceptance Testing

The final set of tests that must be completed before a feature or product can be considered finished.

Specifcation

The information on technical design, development, and procedures related to the requirements it outlines.

Unit Testing

The primary goal of unit testing is to take the smallest piece of testable software in the application, isolate it from the rest of the code and determine whether it behaves exactly as expected. Each unit is tested separately before integrating the units into modules to test the interfacing between modules. The driver that you use in unit testing simulates a calling unit and the stub simulates a called unit.

Requirements Gathering Phase

The process of determining the detailed business requirements of a software system.

Queue.Peek method in C#

This method returns the object at the beginning of the queue without removing it. This method is similar to the Dequeue method, but peek does not modify the Queue.

Git Command: cd

To change the current working directory.

Git Command: rm -r

To delete a directory.

Git Command: rm

To delete a file. The 'rm' means remove.

Git separates the files in your repo into 3 categories:

Unmodified files: Files that haven't changed since your last commit. Modified files: Files that have changes since your last commit, but you haven't staged them for the next commit. Staged files: Files have changes that will be added to the next commit.

Git diff-staged

Used to display all the differences between staging area files and the latest version.

Git diff

Used to display all the differences between the files for the changes which have not been staged yet.

Git diff first_branch second_branch

Used to display the differences present between the two branches.

Regression Tests

Used to make sure that each functionality that was already known to work correctly is still working.

git reset commithash

Used to undo all the changes that have been incorporated as a part of a commit after a specified commit has taken place. Helps in saving the changes locally on the computer.

git reset filename

Used to unstage a file. Even though it unstages the file, still the contents of the file stay intact.


Conjuntos de estudio relacionados

Business Communications, Chapter 7,8,9,10

View Set

Unit 4: Embryology and Cell Reproduction Methods

View Set

Chapter 6 life insurance premiums, proceeds and beneficiaries xcel

View Set

813 CH 44: Loss, Grief, Dying - QUIZ 6

View Set

Chapter 4: Project Integration Management Part 2

View Set

Essential Questions #1 (Spanish-English)

View Set