Overview
In this course we mainly learned about:
-
Traditional software engineering: Software life circle、process and structural analysis and design
-
UML
-
Software testing: black box testing and white box testing.
一、传统软件工程 Traditional Software Engineering
1. 软件生存周期
A life span of a software is:
st=>start: Demand Analysis
op1=>operation: Software Analysis
op2=>operation: Software Design
op3=>operation: Coding
op4=>operation: Tesing
e=>end: Maintenance
st->op1->op2->op3->op4->e
2. 传统软件过程 Software Process
The software process is also called the software development model.
There are mainly two types of model:
- Waterfall Model
The waterfall model is a linear development model based on the software life cycle.
It means that the work of the latter stage can only be started after the work of the previous stage is completed.
- Rapid Prototype Model
First, build a prototype that can reflect the main needs of the user, Then continue to improve the prototype, until the establishment of a new system that fully meets the user's requirements.
二、UML
UML means "Unified modeling language". It's the modeling language of object-oriented design.
UML defines two types of model elements, one is used to represent a certain concept in the model, such as class, objec.; the other is used to represent the relationship between elements, such as generalization, dependency, aggregation.
UML includes many types of diagrams:
1) 用例图 Use Case Diagram
Use case diagrams are used to indicate what functions the system accomplishes and what roles the system contains.
For example: use case diagram of a simple account system:
2)时序图 Sequence Diagram
Sequence diagram is used to describe the dynamic interaction between objects.
It's composed of actor, object and message.
3) 活动图 Activity Diagram
Activity diagrams are used to describe the flow of actions and their results
For example: a simple activity diagram of online-shopping:
two roles: buyer and seller
三、软件测试 Software Testing
After the software design and the coding are finished, it's time for testing.
The purpose of testing is to find the bugs.
Testing can be divided into static testing and dynamic testing.
Static testing is called code review and does not actually run the code. We find the bugs with bare eyes.
1) Black box Testing
Black box testing is to test according to the function of the program. The tester does not need to know the specific structure of the program.
2)White Box Testing
In white box testing, the tester needs to know the structure of the program in advance. White box testing includes logic coverage testing and path testing.
四、Curriculum Design
Our team designed a package delivery system on campus.
You know that because of school regulations, students need to go to the delivery station to pick up the package by themselves.
So we designed a system where students can pay for others to pick up the package for them, or they can pick up packages for others.
To this end, we need to conduct user research, and then draw use case diagrams, class diagrams, sequence diagrams, etc.
But we don't need coding.