1.2.3 Software Development
No description yet. This curated deck is ready for daily study.
Card preview (24)
What is the Software development lifecycle (SDLC)?
A number of distinct phases programmers work through to develop a solution to a problem
What is feasibility?
-Whether or not the project can be done -five factors must be considered (economic, time, technical, political, legal)
What is a requirement?
-A requirement is a specific feature of the new system and is recorded in a document called requirements specification
What are requirements broken down into?
Interface – how the user interacts with it. Functional – what will the system do Performance – how well/fast will the system respond
What is the analysis and design section?
-the process of taking the requirements of a new system and deciding what the system will look like, how will it store data and how it will process data -Design can only go ahead once the requirements specification has been completed
Name the software development methodologies (5)
-waterfall -RAD (rapid application development) -spiral -agile -extreme programming
What is the waterfall lifecycle?
-Each phase has a well-defined start and end point with identifiable deliverables -evolution of the waterfall model allows you to move backwards or forwards to a different stage as developers often have to rework earlier stages in light of knowledge gained as development progresses
What is the spiral model?
-risk-driven -more of a guide for development teams, decisions on the software development methodology are made based on the risks identified -it is wholly dependant on the project and its unique risks (not fixed)
What is RAD?
-that involves producing successive prototypes of the software until a final version is produced and approved -increasingly refined prototypes are made with reduced functionality -These are designed, coded, tested and evaluated with the end user
What is agile?
-The product is built in a series of iterations known as sprints -sprints are short, time-boxed periods when a team has focused goals to complete a set amount of work -Each sprint should ideally be a bite-sized piece of focused work, taking no longer than one to four weeks
What is extreme programming?
-not so much a software methodology as it is a framework -considered an agile framework as it encourages regular, small, iterative software releases -aims to produce very high-quality code and promote developers’ quality of life by encouraging them to adopt a set of common practices that focus on the values of: -Simplicity -Communication -Feedback -Courage -Respect
What are the strict stages of the SDLC (9)
-Identify the problem -Assess the feasibility: technical, economic, legal, operational, time -Analyse the system -Design a solution -Code (implementation) -Testing -Go live: direct changeover, phased, parallel or pilot -Evaluation -Maintenance: adaptive and corrective
What are the five core practices that are considered to boost the overall quality of completed solutions for a project:
-Collective code ownership -Continuous integration -Code standards -Refactoring -Paired programming
Advantages of waterfall:
Disadvantages of waterfall:
Advantages of RAD:
Disadvantages of RAD:
Advantages of spiral:
Disadvantages of spiral:
Advantages of agile and extreme programming:
Disadvantages of agile and extreme programming:
HTML definition:
-Hypertext Markup Language, a standardized system for tagging text files to achieve font, color, graphic, and hyperlink effects on World Wide Web pages -HTML elements consist of start and end tags with content in between
Basic HTML tags:
<html> </html> = document begins and ends with <body> </body> = the main test begins <h1> </h1> = this is a heading <p> </p> = defines a paragraph <head> </head> = a container for metadata (data about data) that is place between the <html> and <body> tags
What is an algorithm?
-A sequence of steps designed to perform a task