Software Engineering
- Course1 Introduction
- Cloud Native Apps
- Schedule
- Software Install
- Project Chaos Report
- What is Software Engineering
- How to define a good Apps
- Steps of Software
- Course4
本笔记记录始于2023年2月13日,为在读研究生期间COMP5241 SE课程笔记整合内容。
千里之行,始于足下。
Course1 Introduction
Cloud Native Apps
Scalable: Run in scalable, sothat we can have more and more users;
Loosely coupled: Our apps is easy to change;
Resilient: The failure can auto recover;
Manageable, observable: We want our apps transparents and want to wander whether apps running well.
Agility: Be able to make high-impact changes frequently and predictably.
Schedule
Software Install
Java SE 17
Maven_download
Maven_install
VSCode with Java Extension
Docker
Git
Python 3
Project Chaos Report
About 35% Success: The project completed on-time and on-budget, with all feature and functions as initially specified.
About 48% Challenged: The project is completed and operational but over-budget, over the time estimate, and offers fewer features and functions than original specified.
About 17% Impaired: The project is cancelled at some point during the development cycle.
What is Software Engineering
SE is a collection of techniques, methodologies and tools.
Help with the production of a high-quality software system developed with a given budget before a given deadline while change occurs.
How to define a good Apps
Usability: e.g. Test application from the perspective of convenience to end-user.
Reliability: e.g. Test the application behaves consistently and predictably.
Performance: e.g. Test online response under average and peak loading.
Supportability: e.g. Test the ability to maintain and support application under production use.
Functionality: e.g. Test the accurate workings of each usage scenario.
Steps of Software
-
Requirements Analysis
Requirements from customer, ask what they want, ask the features and so on. -
Design
After get the requirements, maybe we need to draw the flow chart to show the logic of the program and so on, to show how do we structure our program and the behavior of the program. -
Code
Coding… -
Intergration
A team has many programmers, each of them produce a component, then we intergrate them together. -
Test
Test with our customers and users, then maybe we need to recoding and reintergration to fit the requirements. -
Deploy
After test, we deploy.