Don't forget to hit the ⭐ if you like this repo.
This course is designed to give students an introduction to an engineering approach in the development of high-quality software systems. It will discuss the important software engineering concepts in the various types of the common software process models. The students will also learn the concepts and techniques used in each software development phase including requirements engineering, software design and software testing. This course will also expose the students to utilizing object-oriented method (e.g., UML) and tools in analyzing and designing the software. At the end of this course, students are expected to be able to appreciate most of the common software engineering concepts and techniques as well as producing various software artifacts and deliverables.
- Apply the fundamental of software engineering, software process, requirements engineering to solve software engineering case studies.
- Build suitable software architecture, object-oriented design model and develop test cases in software engineering case studies.
- Construct software requirements model, software architecture, object-oriented design model and test cases with state-of-the-art methods and tools for a real-world software engineering problem.
- Ability to establish good rapport, interact with others, work effectively in a team and comprehend the interchangeable role of leaders and followers with team members.
- Lecture Notes
- Task 1: Additional Notes
- Lab exercise
- Software Engineering Project
- Guideline for Software Engineering Proposal
- Tender dan sebut harga
- Software Engineering | Introduction to Software Engineering
- Software Engineering Tutorial
- The Importance of Software Engineering
- Software Cost Estimation
- Tools EVERY Software Engineer Should Know
- The Anatomy of A Skilled Software Engineer
- Software developer road map 2023
- Document standards by IEEE
- 830-1998 - IEEE Recommended Practice for Software Requirements Specifications
- 1016-2009 - IEEE Standard for Information Technology--Systems Design--Software Design Descriptions
- 829 - IEEE Standard for Test Documentation Overview-Test Plan Outline
- 829-2008 - IEEE Standard for Software and System Test Documentation
- IEEE Standards
-
Mermaid.js: Mermaid.js is a popular JavaScript library for creating diagrams and flowcharts using Markdown syntax. It's open source, easy to use, and supports a wide range of diagram types.
-
PlantUML: PlantUML is a tool for creating UML diagrams using a simple textual syntax. It supports a variety of diagram types, including class diagrams, use case diagrams, sequence diagrams, and more.
-
Graphviz: Graphviz is a powerful tool for creating graphs and diagrams using a simple textual syntax. It supports a wide range of graph types, including directed and undirected graphs, flowcharts, and more.
-
Diagrams.net: Diagrams.net (formerly known as Draw.io) is a web-based diagramming tool that supports a variety of diagram types, including flowcharts, network diagrams, and more. It has a simple interface and supports Markdown syntax for creating diagrams.
-
yEd Graph Editor: yEd Graph Editor is a desktop application for creating diagrams and flowcharts. It supports a wide range of diagram types and has a simple interface that makes it easy to create and edit diagrams. It also supports Markdown syntax for creating diagrams.
-
Structurizr: Structurizr is a powerful tool for creating system architecture diagrams using code. It supports a range of diagram types, including context diagrams, container diagrams, and component diagrams. You can create and maintain diagrams using a simple DSL written in Markdown.
-
C4-PlantUML: C4-PlantUML is an extension to PlantUML that provides support for creating system architecture diagrams. It uses a simple textual syntax to describe the system architecture, and supports a range of diagram types including context diagrams, container diagrams, and component diagrams.
-
Nomnoml: Nomnoml is a tool for creating UML diagrams using a simple textual syntax. It's lightweight and easy to use, and supports a range of diagram types, including class diagrams, sequence diagrams, and more. You can use Nomnoml to create system architecture diagrams using Markdown syntax.
-
Mermaid.js: Mermaid.js, which was mentioned earlier as a tool for creating diagrams and flowcharts using Markdown syntax, also supports system architecture diagrams. It supports a range of diagram types, including sequence diagrams, flowcharts, and more.
-
Vega-Lite: Vega-Lite is a declarative visualization tool that can be used to create a range of visualizations, including system architecture diagrams. It supports a simple JSON-based syntax, which can be generated using a Markdown document, and can be used to create interactive and static diagrams.
Please create an Issue for any improvements, suggestions or errors in the content.
You can also contact me using Linkedin for any other queries or feedback.