软件工程 Software Engineering

时间:2021-09-15
本文章向大家介绍软件工程 Software Engineering,主要包括软件工程 Software Engineering使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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.

原文地址:https://www.cnblogs.com/danielwong2021/p/15271289.html