An open API service indexing awesome lists of open source software.

https://github.com/maniebra/software-engineering-docs

A list of concepts written in Markdown that you must study as a software engineer.
https://github.com/maniebra/software-engineering-docs

software-architecture software-engineering system-analysis system-design

Last synced: about 2 months ago
JSON representation

A list of concepts written in Markdown that you must study as a software engineer.

Awesome Lists containing this project

README

        

# 🛠️ Software Engineering Docs

Since I am studying software engineering, I encountered many concepts and ideas that every software engineer needs to know. Hence, I decided to compile them all into one repository that my peers and beginners can use.

# 📃 Table of Contents

- [The Agile Philosophy](The%20Agile%20Philosophy)
- [The Definition of Agility](The%20Agile%20Philosophy/The%20Definition%20of%20Agility.md)
- [Extreme Programming](The%20Agile%20Philosophy/Extreme%20Programming%20(XP).md)
- [Agile Principles](The%20Agile%20Philosophy/Agile%20Principles.md)
- [Scrum Principles](The%20Agile%20Philosophy/Scrum%20Principles.md)
- [DSDM Principles](The%20Agile%20Philosophy/DSDM%20Principles.md)
- [Roles in Scrum](The%20Agile%20Philosophy/Roles%20in%20Scrum.md)
- [Sprints](The%20Agile%20Philosophy/Sprints.md)
- [System Design](/System%20Design/)
- [0. Introduction](/System%20Design/0.%20Introduction/)
- [0.1 Systems Development Life Cycle (SDLC)](/System%20Design/0.%20Introduction/0.1%20Systems%20Development%20Life%20Cycle%20(SDLC).md)
- [Process Models](/Process%20Models/)
- [V Model](/Process%20Models/V-Model.md)
- [Waterfall Model](Process%20Models/Waterfall%20Model.md)
- [Incremental Model](Process%20Models/Incremental%20Model.md)
- [Other Process Models](Process%20Models/Other%20Process%20Models.md)
- [Unified Process Model (UP)](Process%20Models/Unified%20Process%20Model%20(UP).md)
- [Design Patterns](Design%20Patterns)
- [Decorator Pattern](Design%20Patterns/Decorator%20Pattern.md)
- [Factory Pattern](Design%20Patterns/Factory%20Pattern.md)
- [Observer Pattern](Design%20Patterns/Observer%20Pattern.md)
- [Software Engineering](Software%20Engineering)
- [Organizational Paradigms](Software%20Engineering/Organizational%20Paradigms.md)
- [Software Architecture](Software%20Architecture)
- [Architectural Patterns](Software%20Architecture/Architectural%20Patterns)
- [Clean Architecture](Software%20Architecture/Architectural%20Patterns/Clean%20Architecture.md)
- [Event Driven Architecture](Software%20Architecture/Architectural%20Patterns/EDA.md)
- [Hexagonal](Software%20Architecture/Architectural%20Patterns/Hexagonal.md)
- [MVC](Software%20Architecture/Architectural%20Patterns/MVC.md)
- [MVVM](Software%20Architecture/Architectural%20Patterns/MVVM.md)
- [Layered Architecture](Software%20Architecture/Architectural%20Patterns/Layered%20Architecture.md)
- [Microservice Architecture](Software%20Architecture/Architectural%20Patterns/Microservice%20Architecture.md)
- [Rules of Software Architecture](Software%20Architecture/Rules%20of%20Software%20Architecture.md)
- [Principles](Principles)
- [Design Principles](Principles/Design%20Principles.md)
- [Process Principles](Principles/Process%20Principles.md)
- [Modeling Principles](Principles/Modeling%20Principles)
- [Agile Modeling Principles](Principles/Modeling%20Principles/Agile%20Modeling%20Principles.md)
- [Design Modeling Principles](Principles/Modeling%20Principles/Design%20Modeling%20Principles.md)
- [Requirements Modeling Principles](Principles/Modeling%20Principles/Requirements%20Modeling%20Principles.md)
- [Living Modeling Principles](Principles/Modeling%20Principles/Living%20Modeling%20Principles.md)
- [Communication Principles](Principles/Communication%20Principles.md)
- [Construction Principles](Principles/Construction%20Principles.md)
- [Contribution Principles](Principles/Contribution%20Principles.md)
- [Deployment Principles](Principles/Deployment%20Principles.md)
- [Planning Principles](Principles/Planning%20Principles.md)
- [Practice Principles](Principles/Practice%20Principles.md)
- [Snippets and Cheatsheets](Snippets%20and%20Cheatsheets)
- [Process Models Use Cases](Snippets%20and%20Cheatsheets/Process%20Models%20Use%20cases.md)

# 📚 Sources & References

1. [System Analysis and Design - Alan Dennis, Barbara Haley Wixom, Roberta M. Roth](https://www.uoitc.edu.iq/images/documents/informatics-institute/Competitive_exam/Systemanalysisanddesign.pdf)
2. Head First Design Patterns: Building Extensible and Maintainable Object-Oriented Software

# 🤝 Contributing

Since I created this repository in hopes of becoming one of the most outstanding software engineering guides one day, your contributions will be much appreciated. To contribute to this project, you have to follow these steps:

3. Fork the repository.
4. Clone the forked repository to your local device.
5. Add your contents or modify the contents you see fit to alter.
6. Create a pull request.
7. Wait until your pull request is reviewed.
8. If all is good, your contribution will be merged into this repository!

# ⚖️ License

This project is licensed under the **MIT License**.

Copyright © 2025 Mani Ebrahimi

You are free to use, copy, modify, merge, publish, distribute, sub-license, and/or sell copies of this software, subject to the following conditions:

9. The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
10. The software is provided "as is", without warranty of any kind, express or implied, including but not limited to warranties of merchantability, fitness for a particular purpose, and noninfringement.

For more details, refer to the [LICENSE](/LICENSE) file.