11 Supporting Applications and Developers Flashcards
Software project management that tries to implement small chunks of product often is called…?
Agile or Iterative Project Management
Software project management that uses clearly defined steps or phases to implement things like requirements, design, development, testing, and deployment is called…?
Waterfall or Sequential project management
What is a sprint?
A time period in Agile that developers have to develop their code
In the context of application support and development, what is a Design Pattern?
used to describe a repeatable solution to a problem that can often be linked together
What is open source software?
Software that is distributed with its source code, making it available for use, modification, and distribution with its original rights
What two versions of the GPL license are currently available?
v2 and v3`
a permissive open source license does what?
Allows users to do nearly anything they want with the code with few exceptions
GPL is an example of what license type?
Restrictive
Apache 2.0 is an example of what license type?
Permissive
What is the SDLC?
Software Development Lifecycle: defines a process that starts with the definition of the problem that needs to be solved, design of a solution, testing of that solution, ends with final solution in production
What is waterfall project management?
aka sequential project management, clearly defined steps or phases of project management that must be completed to move on to the next phase
What are the 5 steps in waterfall project management?
- Planning and Requirements
- Design
- Delivery and Implementation
- Testing
- Launching and Maintenance
What are some of the common problems with waterfall project management?
The rigidity of the schedule causes issues as the scope of the project changes during its development. New stakeholders appear, some things might take more time than anticipated, can lead to missed deadlines and unhappy stakeholders
What type of project is served best by the waterfall method of management?
Small projects that are extremely well defined
What is Agile project management
It is a combination of iterative and incremental process models with focus on rapid adaptability. It breaks the product into small incremental builds which are provided in iterations
What is frontend architecture?
The code and its structure that make up the interface for the application. Usually a web interface or some kind of GUI.
In a fully functional app, what is the frontend’s primary purpose other than presenting a user interface?
Sending requests that are serviced by the backend
What is the backend’s primary purpose?
Perform whatevery functions necessary, be it retrieving information from a database, performing calculations, to send data back to the frontend and serve the client
What does a well designed frontend and backend accomplish?
Frontend -> ease of use
Backend -> efficiency and reliability
What are the ten requirements for Open Source Software?
Free redistribution
Include the source code
Allow for modifications and derived works
Integrity of the original author’s source code
Does not allow discrimination against persons or groups
Does not allow discrimination against any fields of endeavor
Distribution of the original license
License must not be specific to any product
License must not restrict other accompanying software
License must not be predicated on any technology or style of interface
What are the 4 types of licenses?
Public domain
Permissive License
Restrictive License
Proprietary License
What are the main differences between GPLv2 and GPLv3 licenses?
They are both copyleft licenses: restrictive. v3 is more specific about the grant of patent rights. v3 is also compatible with apache 2.0 license, and v2 is not.
If code licensed under apache 2.0 is combined with code licensed under GPLv3 what would the resulting code have to be licensed under?
GPLv3, since it is the more restrictive license