Skip to content

Commit

Permalink
rearrange files
Browse files Browse the repository at this point in the history
  • Loading branch information
coillarach committed Oct 10, 2024
1 parent de3987b commit ccbc9b9
Show file tree
Hide file tree
Showing 20 changed files with 73 additions and 75 deletions.
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,17 +28,17 @@ on the [SET08103 GitHub site](https://github.com/edinburgh-napier/SET08103).

| Week | Topic | Practical | Assessment |
|------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------|
| 2 | [Introduction to the module](notes/Week02a_introduction.md)<br/>[Human factors in software engineering](notes/Week02b_human_factors.md) | [Setup: Visual Studio and GitHub](practicals/Week02_setup.md) | [Coursework brief](assessment)<br/>Portfolio 1: [Setup](https://github.com/edinburgh-napier/SET09102_portfolio/blob/main/week02_setup.md) |
| 3 | [Lifecycle and development models](notes/Week03a_lifecycle.md) <br> [Team workflows](notes/Week03b_workflow.md) | [Establishing a team workflow](practicals/Week03_workflow.md) | Portfolio 2: [GitHub issue and pull request](https://github.com/edinburgh-napier/SET09102_portfolio/blob/main/week03_workflow.md) |
| 4 | [Quality: Code](notes/Week04a_quality_code.md)<br/>[Quality: Processes](notes/Week04b_quality_processes.md) | [Code review](practicals/Week04_code_review.md) | Portfolio 3: [Code review challenges](https://github.com/edinburgh-napier/SET09102_portfolio/blob/main/week04_code_review.md) |
| 2 | [Introduction to the module](notes/unit0_introduction/Week02a_introduction.md)<br/>[Human factors in software engineering](notes/unit0_introduction/Week02b_human_factors.md) | [Setup: Visual Studio and GitHub](practicals/Week02_setup.md) | [Coursework brief](assessment)<br/>Portfolio 1: [Setup](https://github.com/edinburgh-napier/SET09102_portfolio/blob/main/week02_setup.md) |
| 3 | [Lifecycle and development models](notes/unit3_agile/Week03a_lifecycle.md) <br> [Team workflows](notes/unit2_version_control/Week03b_workflow.md) | [Establishing a team workflow](practicals/Week03_workflow.md) | Portfolio 2: [GitHub issue and pull request](https://github.com/edinburgh-napier/SET09102_portfolio/blob/main/week03_workflow.md) |
| 4 | [Quality: Code](notes/unit1_code_quality/Week04a_quality_code.md)<br/>[Quality: Processes](notes/unit2_version_control/Week04b_quality_processes.md) | [Code review](practicals/Week04_code_review.md) | Portfolio 3: [Code review challenges](https://github.com/edinburgh-napier/SET09102_portfolio/blob/main/week04_code_review.md) |
| 5 | [Software design](notes/Week05a_design.md) <br> [Documentation](notes/Week05b_documentation.md) | [Clean code and documentation](practicals/Week05_clean_code.md) | Portfolio 4: [Documentation example](https://github.com/edinburgh-napier/SET09102_portfolio/blob/main/week05_documentation.md) |
| 6 | [Test-driven development](notes/Week06a_test_driven_development.md) <br> [Software testing](notes/Week06b_testing.md) | [Test battles](practicals/Week06_test_battles.md) | Portfolio 5: [Unit tests](https://github.com/edinburgh-napier/SET09102_portfolio/blob/main/week06_testing.md) |
| 6 | [Test-driven development](notes/unit4_testing/Week06a_test_driven_development.md) <br> [Software testing](notes/unit4_testing/Week06b_testing.md) | [Test battles](practicals/Week06_test_battles.md) | Portfolio 5: [Unit tests](https://github.com/edinburgh-napier/SET09102_portfolio/blob/main/week06_testing.md) |
| 7 | Reading week | Reading week | Reading week |
| 8 | [Know your tools](notes/Week08a_tools.md) <br/>[Mocking and testing](notes/Week08b_mocking.md) | [Project work](practicals/Week08-12_project_work.md) | Portfolio 6: [Issue and code review x 2](https://github.com/edinburgh-napier/SET09102_portfolio/blob/main/week08_project.md) |
| 9 | [Computer-aided software engineering](notes/Week09a_case.md) <br> [Generative AI tools](notes/Week09b_generative_ai.md) | [Project work](practicals/Week08-12_project_work.md) | Portfolio 7: [Issue and code review x 2](https://github.com/edinburgh-napier/SET09102_portfolio/blob/main/week09_project.md) |
| 10 | [Working with databases](notes/Week10a_databases.md) <br/> [ChatGPT and Copilot](notes/Week10b_generative_ai.md) | [Project work](practicals/Week08-12_project_work.md) | Portfolio 8: [Issue and code review x 2](https://github.com/edinburgh-napier/SET09102_portfolio/blob/main/week10_project.md) |
| 11 | [Security](notes/Week11a_security.md) <br> [Secure software development](notes/Week11b_secure_software_development.md)<br/>[Code quality evaluation](notes/Week11c_evaluation.md) | [Project work](practicals/Week08-12_project_work.md) | Portfolio 9: [Issue and code review x 2](https://github.com/edinburgh-napier/SET09102_portfolio/blob/main/week11_project.md) |
| 12 | [Ethics and Professionalism](notes/Week12a_ethics.md) <br> [Interview preparation](notes/Week12b_interview_preparation.md) | [Project work](practicals/Week08-12_project_work.md) | Portfolio 10: [Issue and code review x 2](https://github.com/edinburgh-napier/SET09102_portfolio/blob/main/week12_project.md) |
| 8 | [Know your tools](notes/unit2_version_control/Week08a_tools.md) <br/>[Mocking and testing](notes/unit4_testing/Week08b_mocking.md) | [Project work](practicals/Week08-12_project_work.md) | Portfolio 6: [Issue and code review x 2](https://github.com/edinburgh-napier/SET09102_portfolio/blob/main/week08_project.md) |
| 9 | [Computer-aided software engineering](notes/unit8_ai/Week09a_case.md) <br> [Generative AI tools](notes/unit8_ai/Week09b_generative_ai.md) | [Project work](practicals/Week08-12_project_work.md) | Portfolio 7: [Issue and code review x 2](https://github.com/edinburgh-napier/SET09102_portfolio/blob/main/week09_project.md) |
| 10 | [Working with databases](notes/Week10a_databases.md) <br/> [ChatGPT and Copilot](notes/unit8_ai/Week10b_generative_ai.md) | [Project work](practicals/Week08-12_project_work.md) | Portfolio 8: [Issue and code review x 2](https://github.com/edinburgh-napier/SET09102_portfolio/blob/main/week10_project.md) |
| 11 | [Security](notes/unit7_ethics/Week11a_security.md) <br> [Secure software development](notes/unit7_ethics/Week11b_secure_software_development.md)<br/>[Code quality evaluation](notes/Week11c_evaluation.md) | [Project work](practicals/Week08-12_project_work.md) | Portfolio 9: [Issue and code review x 2](https://github.com/edinburgh-napier/SET09102_portfolio/blob/main/week11_project.md) |
| 12 | [Ethics and Professionalism](notes/unit9_ethical_ai/Week12a_ethics.md) <br> [Interview preparation](notes/Week12b_interview_preparation.md) | [Project work](practicals/Week08-12_project_work.md) | Portfolio 10: [Issue and code review x 2](https://github.com/edinburgh-napier/SET09102_portfolio/blob/main/week12_project.md) |
| 13 | Assessment week | Assessment week | One-to-one interviews |

## Copyright Notice
Expand Down
2 changes: 0 additions & 2 deletions notes/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,3 @@ nav_order: 2
---

# Notes

Add list here
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ The reading is typically from the textbooks on the

<div class="tour"></div>

###### [![Here's you engineering your software...](../images/you_small.png)](https://bdavison.napier.ac.uk/set09102/timeline.html){:target="_blank"}
###### [![Here's you engineering your software...](../../images/you_small.png)](https://bdavison.napier.ac.uk/set09102/timeline.html){:target="_blank"}

History can be instructive: it shows you the connections between ideas, illuminates
the emergence of innovations and identifies old ideas that have been left behind.
Expand Down Expand Up @@ -148,7 +148,7 @@ software engineers.
> achieve a goal or overcome an obstacle, within a computerized system by non-standard
> means.
>
> [![Wikipedia](../images/wikipedia_link_icon.png)](https://en.wikipedia.org/wiki/Hacker)
> [![Wikipedia](../../images/wikipedia_link_icon.png)](https://en.wikipedia.org/wiki/Hacker)
Now almost exclusively used in the sense of a *security hacker*, someone attempting to
infiltrate or disable a computer system without authorisation, a hacker was simply
Expand All @@ -161,7 +161,7 @@ but not necessarily in a principled way. This meaning is the basis of the word *
> hacking programs written by other hackers because they often lack the skills to write
> their own.
>
> [![Technopedia](../images/technopedia_link_icon.png)](https://www.techopedia.com/definition/4090/script-kiddie)
> [![Technopedia](../../images/technopedia_link_icon.png)](https://www.techopedia.com/definition/4090/script-kiddie)
The name suggests an immaturity in this group of people. They have no serious interest in
building their knowledge and expertise; instead, they are just excited by the idea of
Expand All @@ -173,11 +173,11 @@ causing mischief.
> without much thought or creativity [...] only capable of mechanically following
> instructions without understanding the broader implications of their work.
>
> [![NordVPN](../images/NordVPN_link_icon.png)](https://nordvpn.com/cybersecurity/glossary/code-monkey/)
> [![NordVPN](../../images/NordVPN_link_icon.png)](https://nordvpn.com/cybersecurity/glossary/code-monkey/)
<div class="tour"></div>

###### [![Here's you engineering your software...](../images/you_small.png)](https://bdavison.napier.ac.uk/set09102/software_engineering.html){:target="_blank"}
###### [![Here's you engineering your software...](../../images/you_small.png)](https://bdavison.napier.ac.uk/set09102/software_engineering.html){:target="_blank"}

This type of programmer is good at what they do, but have no interest in the wider context.
They do not care about the purpose or impact of the development, and they avoid interactions
Expand Down Expand Up @@ -275,7 +275,7 @@ elements that can be
> processes, services, procedures, facilities, materials,
> and naturally occurring entities.
![General system](../images/system3.png)
![General system](../../images/system3.png)

*Fig. 1: General system visualisation*

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ are creating. The tour below illustrates some of the most important ones.

<div class="tour"></div>

###### [![Here's you engineering your software...](../images/you_small.png)](https://bdavison.napier.ac.uk/set09102/other_people.html){:target="_blank"}
###### [![Here's you engineering your software...](../../images/you_small.png)](https://bdavison.napier.ac.uk/set09102/other_people.html){:target="_blank"}

<br/>
<br/>
Expand Down Expand Up @@ -82,7 +82,7 @@ provides a clear explanation of how to conduct a thorough stakeholder analysis.
are the key stakeholders for your project.
<br/><br/>

![Importance vs Influence](../images/stakeholder_map.png)
![Importance vs Influence](../../images/stakeholder_map.png)

*Fig. 1: Stakeholders mapped by importance and influence*

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ nav_order: 7

<hr class="splash">

![Martin Fowler](../images/martin_fowler.png)
![Martin Fowler](../../images/martin_fowler.png)

### Any fool can write code that a computer can understand. Good programmers write code that humans can understand.

Expand Down Expand Up @@ -76,7 +76,7 @@ customer. In that sense, quality can only be evaluated with reference to the
External properties describe the operation of the whole system and therefore need
to be evaluated at the system level. That is, the system has to be tested in use.
This system-level testing is explicitly captured in the
[V life cycle model](Week03a_lifecycle.md#the-v-model) where it is paired with the
[V life cycle model](../unit3_agile/Week03a_lifecycle.md#the-v-model) where it is paired with the
analysis phase of the waterfall. This type of quality testing is relevant for any
software development project including those that use an agile approach. The
derivation of external quality criteria and their evaluation is discussed in more
Expand Down
4 changes: 2 additions & 2 deletions notes/unit1_code_quality/code_quality.md
Original file line number Diff line number Diff line change
Expand Up @@ -285,8 +285,8 @@ communication across diverse teams and audiences. By adhering to these principle
software engineering becomes not only more efficient but also more equitable and
collaborative.

{: .tip-title }
> <a href="guidelines.md"><i class="fa-regular fa-lightbulb"></i> Guidelines for coding standards</a>
{: .tip-title }
> <a href="guidelines.md"><i class="fa-regular fa-lightbulb"></i> Guidelines for coding standards</a>

## Design patterns

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ nav_order: 6

<hr class="splash">

![Merlin Mann](../images/merlin_mann.png)<br/>*Photo by [Thomas Hawk](https://www.flickr.com/photos/thomashawk/2298694177)*
![Merlin Mann](../../images/merlin_mann.png)<br/>*Photo by [Thomas Hawk](https://www.flickr.com/photos/thomashawk/2298694177)*

### Workflow is understanding your job, understanding your tools, and then not thinking about it any more.

Expand Down Expand Up @@ -75,7 +75,7 @@ each one will have their own development environment. This is an important detai
environment is not shared - each member of the team has their own copy which includes the last known
good configuration of the codebase, plus the changes they are currently working on.

![Environments](../images/environments.png#figure)
![Environments](../../images/environments.png#figure)
*Fig 1: System environments*

Code repositories such as GitHub are excellent tools for managing the synchronisation of the
Expand Down Expand Up @@ -242,7 +242,7 @@ manage the work. For example, a swimlane for stalled tasks could be added, or fo
The task board can be as complicated as required, but in general, the simpler the structure, the
more intuitive it is to use.

![Default GitHub task board](../images/github_task_board.png#figure)
![Default GitHub task board](../../images/github_task_board.png#figure)
*Fig 5: Default GitHub task board*

Tasks in GitHub are represented by [issues](https://docs.github.com/en/issues). They can be added
Expand All @@ -253,7 +253,7 @@ issues using the issues tab on the repository page. If you take that option, you
explicitly which project the issue should be added to. This is done using the controls on the right of
the issue creation page as shown in Fig. 6.

![New issue page](../images/new_issue.png#figure)
![New issue page](../../images/new_issue.png#figure)
*Fig. 6: GitHub new issue page*

When using a task board, an item gradually accumulates detail and moves through the swimlanes from left
Expand Down Expand Up @@ -327,7 +327,7 @@ In light of the previous sections, two main phases of activity can be identified
any piece of development work as shown in Fig.7. The time required for each stage depends on the
complexity of the original issue.

![Development process](../images/dev_process.png#figure)
![Development process](../../images/dev_process.png#figure)
*Fig. 7: Two-phase development process*

The rules that a team sets for itself in defining a standard workflow are intended to help
Expand Down
Loading

0 comments on commit ccbc9b9

Please sign in to comment.