Skip to content

Naxisbeast/software-engineering-system-design

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Software Engineering And System Design

Overview

This repository is a student learning portfolio for software engineering and system design fundamentals. It contains notes, templates, and case-study summaries that help me practise planning, documenting, testing, and explaining software systems.

I am building this as part of my GitHub student portfolio for bursaries, internships, graduate programmes, and future Honours opportunities.

Why I Created This Repository

Larger software projects need more than code. They need clear requirements, planning, diagrams, testing, teamwork, documentation, and version control. This repository helps me organise those skills in a practical student-level way.

Current Scope

This foundation repo includes:

  • Software engineering notes
  • Requirements engineering notes
  • UML diagram notes
  • Testing notes
  • Project management notes
  • Reusable documentation templates
  • Case-study summaries from academic team project experience

Academic / Team Project Note

Some case studies in this repository are based on academic team projects, including CineBook and Clinic Appointment System/CASS. They should be read as learning and documentation summaries from collaborative project experience, not as claims that I personally built every feature alone.

Concepts Demonstrated

Concept What It Shows
Requirements engineering Turning user needs into clear requirements
Functional requirements What a system should do
Non-functional requirements Quality expectations such as security, usability, and performance
UML thinking Planning system behaviour and structure
Testing basics Checking that software works as expected
Project management Scope, milestones, risks, responsibilities, and communication
Documentation Making a project easier to understand and maintain
Team collaboration Working fairly in group project settings

Repository Structure

software-engineering-system-design/
|-- README.md
|-- case-studies/
|   |-- README.md
|   |-- cinebook-case-study.md
|   `-- clinic-appointment-system-case-study.md
|-- notes/
|   |-- project-management-basics.md
|   |-- requirements-engineering.md
|   |-- software-engineering-basics.md
|   |-- testing-basics.md
|   `-- uml-diagrams.md
`-- templates/
    |-- functional-requirements-template.md
    |-- non-functional-requirements-template.md
    |-- risk-register-template.md
    |-- test-case-template.md
    `-- use-case-template.md

What I Learned

  • Software engineering is about planning and communication as much as programming.
  • Requirements help a team understand what the system should achieve.
  • Diagrams can make systems easier to discuss before implementation.
  • Testing helps find problems before users are affected.
  • Project planning helps teams manage scope, time, risks, and responsibilities.
  • Academic team projects should be documented honestly and fairly.

Planned Extensions

This repository currently focuses on software engineering foundations. Future improvements may include:

  • UML diagram images
  • ERD examples
  • Sequence diagrams
  • System architecture diagrams
  • Test plans
  • Project schedules
  • Agile/Scrum examples
  • Improved case studies from real projects

About

Software Engineering and System Design Notes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors