|
1 | 1 | Introduction to Software Engineering |
2 | 2 | ==================================== |
3 | 3 |
|
4 | | -Software Engineering is more of an encompassing approach to the development of software. |
5 | | -For us to understand what we will be doing in this course we need to define Software Design and Development as two independent ideas to creating software. |
6 | | -Thus the terms *software design*, *software development*, and *software engineering* will be defined for clarity. |
7 | | -For the most part we use *software design*, *software development* and *software engineering* as interchangeable words. |
8 | | -They, however, are scaffolded ideas and we will breakdown each one. |
9 | | -From there you will understand the purpose and goal of the course. |
10 | | -Below are the differences: |
11 | | - |
12 | | -1. **Software Design**: |
13 | | - |
14 | | - - **Focus**: Software design refers to the process of defining the architecture, components, interfaces, and data for a software application. It's about planning how the software will be structured and how it will work. |
15 | | - |
16 | | - - **Activities**: It includes tasks like creating flowcharts, defining algorithms, selecting appropriate design patterns, and creating the overall structure of the software. |
17 | | - |
18 | | - - **Goal**: The goal of software design is to create a blueprint or a plan for how the software will be built. It ensures that the software's architecture will support scalability, reliability, and maintainability. |
19 | | - |
20 | | - - **Tools/Concepts**: UML diagrams, design patterns, data structures, and algorithms. |
21 | | - |
22 | | -2. **Software Development**: |
23 | | - - **Focus**: Software development is the actual process of building the software based on the design. It encompasses the coding, testing, and debugging of the software to create a working product. |
24 | | - |
25 | | - - **Activities**: Involves writing code, testing features, debugging issues, and integrating different parts of the software. |
26 | | - |
27 | | - - **Goal**: The goal of software development is to turn a design into a functional software product that works as intended. |
28 | | - |
29 | | - - **Tools/Concepts**: Programming languages (like Python, Java, C++), Integrated Development Environments (IDEs), version control systems (e.g., Git), and testing frameworks. |
30 | | - |
31 | | -3. **Software Engineering**: |
32 | | - |
33 | | - - **Focus**: Software engineering is a broader discipline that involves applying engineering principles and systematic methods to the development, operation, and maintenance of software. |
34 | | - |
35 | | - - **Activities**: Software engineering includes software design and development but extends to areas like requirements gathering, project management, quality assurance, deployment, maintenance, and continuous improvement. |
36 | | - |
37 | | - - **Goal**: The goal of software engineering is to ensure that software is developed efficiently, meets user needs, and is reliable, scalable, and maintainable. It also aims to apply best practices and methodologies to manage complexity and ensure quality. |
38 | | - |
39 | | - - **Tools/Concepts**: Software development methodologies (Agile, Waterfall, DevOps), project management tools (e.g., JIRA), version control, testing, continuous integration/continuous deployment (CI/CD), and metrics to track performance and success. |
40 | | - |
41 | | -Summary: |
42 | | --------- |
43 | | -- **Software Design** is about planning and structuring the software. |
44 | | -- **Software Development** is about building and coding the software based on the design. |
45 | | -- **Software Engineering** is a holistic approach that includes both design and development, but also incorporates project management, maintenance, and the use of engineering principles to ensure the software is effective, scalable, and sustainable over time. |
46 | 4 |
|
47 | 5 | .. toctree:: |
48 | 6 | :maxdepth: 1 |
@@ -71,4 +29,4 @@ Summary: |
71 | 29 | Marketing Proposal <Resources/MarketingProposal.md> |
72 | 30 | SCRUM Overview <Resources/SCRUM_Overview.md> |
73 | 31 | SCRUM Rubric <Resources/SCRUM_rubric.md> |
74 | | - SDD Structural Considerations <Resources/SDD_Structural-Considerations.md> |
| 32 | + SDD Structural Considerations <Resources/SDD_Structural-Considerations.md> |
0 commit comments