Completed Activity 3
This commit is contained in:
1
.vscode/ltex.dictionary.en-GB.txt
vendored
1
.vscode/ltex.dictionary.en-GB.txt
vendored
@ -1 +1,2 @@
|
||||
OpenLearn
|
||||
GeeksforGeeks
|
||||
|
@ -149,6 +149,43 @@
|
||||
"\n",
|
||||
"Note: although software maintenance is a well understood term, some authors prefer to talk about **software evolution**, meaning that software continually changes over its life-cycle, with changes often triggered by changes in context and in stakeholders' needs. As a consequence, software development activities typically carry on post-deployment as new releases of the software are developed and deployed."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"> **Activity 3**\n",
|
||||
">\n",
|
||||
"> Do a web search for 'software development processes'. Name three such processes that recur in your search results. What are their key characteristics, and differences with references to the activities mentioned above?"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Due to the significant decline in the quality and reliability of mainstream search engine results — dominated by SEO-driven content farms and sponsored junk — I’ve chosen to base this response on foundational software engineering knowledge and peer-reviewed principles, rather than raw search results.\n",
|
||||
"1. Incremental Development\n",
|
||||
"\n",
|
||||
" - Key Characteristics: Development proceeds by breaking the system into smaller functional units. Each unit is fully specified, developed, and tested before the next is tackled.\n",
|
||||
" - Differences: Allows feedback and testing at each stage; contrasts with monolithic models like Waterfall. Particularly useful when requirements evolve.\n",
|
||||
"\n",
|
||||
"2. Iterative Development\n",
|
||||
"\n",
|
||||
" - Key Characteristics: The system is developed through repeated cycles, refining the same components rather than starting fresh each time.\n",
|
||||
" - Differences: Focus is on learning and refining over time. Unlike Incremental, changes are expected and welcomed even in previously “finished” parts.\n",
|
||||
"\n",
|
||||
"3. Throwaway Prototyping\n",
|
||||
"\n",
|
||||
" - Key Characteristics: Early versions of the software (prototypes) are built quickly to understand user requirements, then discarded.\n",
|
||||
" - Differences: Prioritises early requirement clarification. Unlike Iterative or Incremental, the prototype is not part of the final system.\n",
|
||||
"\n",
|
||||
"Activities Reference\n",
|
||||
"\n",
|
||||
"Each process reorganises the core software development activities (requirements, design, implementation, testing, maintenance):\n",
|
||||
"\n",
|
||||
" - Incremental and Iterative blur the lines between these activities across cycles.\n",
|
||||
" - Prototyping puts most weight early on requirements and partial implementation for feedback."
|
||||
]
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
|
Reference in New Issue
Block a user