软件项目开发工程学习总结

目录

一、软件项目开发工程组织管理介绍

二、软件项目开发工程组织管理的目标

三、软件生命周期模型

3.1 软件工程过程:PDCA循环

3.2 软件生命周期 software life cycle

 四、面向对象需求分析方法

1.UML的概述

 2. 类图

五、利用工具对项目开发工程进行管理

六、开发项目

七、总结 


一、软件项目开发工程组织管理介绍

在软件开发项目中,为了确保项目能够按时完成、质量达标,需要有一个良好的开发工程组织管理。软件项目开发工程组织管理涵盖了项目的规划、执行、监督和控制,它是一个基于团队协作和沟通的综合性管理过程。

二、软件项目开发工程组织管理的目标

在给定成本、进度的前提下,开发出满足用户需求且具有 可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性 的软件产品。

三、软件生命周期模型

3.1 软件工程过程:PDCA循环

PDCA循环,也称为循环质量模型或Deming循环,是一种基于四个阶段的循环质量管理模型,它包括以下四个过程:

Plan(计划):在这个阶段,需要制定计划和目标,确定过程和资源,以及识别风险和机会。

Do(执行):在这个阶段,需要执行计划并采取相应行动,收集数据并进行监测,以便了解实际情况 

Check(检查):在这个阶段,需要评估实际执行结果,与计划进行比较,识别差距和改进点。Act(行动):在这个阶段,需要采取适当的纠正措施并进行改进,以优化流程和提高质量。

3.2 软件生命周期 software life cycle

在整个软件生命周期中贯穿了软件工程过程的六个基本活动:

制定计划 P

需求分析 D

设计 D

程序编码 D

测试 C

运行维护 A

① 制定计划: 确定要开发软件系统的总目标,给出它的功能、性能、可靠性以及接口等方面的要求;研究完成该项软件任务的可行性,探讨解决问题的可能方案;制定完成开发任务的实施计划,连同可行性研究报告,提交管理部门审查。
② 需求分析和定义:对待开发软件提出的需求进行分析并给出详细的定义。编写出软件需求说明书及初步的用户手册,提交管理机构评审。
③ 软件设计:设计是软件工程的技术核心。把已确定了的各项需求转换成一个相应的体系结构。进而对每个模块要完成的工作进行具体的描述。编写设计说明书,提交评审。
④ 程序编写:把软件设计转换成计算机可以接受的程序代码。
⑤ 软件测试:在设计测试用例的基础上检验软件的各个组成部分。
⑥ 运行/维护:已交付的软件投入正式使用,并在运行过程中进行适当的维护。

可行性研究报告的示例图

软件需求规格说明书的样式

 

 四、面向对象需求分析方法

1.UML的概述

UML(Unified Modeling Language,统一建模语言)是一种用来描述、设计、规格和文档化软件系统的标准化建模语言。它是由对象管理集团(Object Management Group,OMG)创建,并在OMG中得到广泛的支持和发展。

UML是通过一系列的图表(或称为模型)来表示软件系统的不同方面,这些图表描述了软件系统的结构、行为和功能。这些图表是基于一组事先定义好的元素(比如类、对象和用例等)和它们之间的关系来构建的。

UML包含了许多不同类型的图表,其中较为常见的有:

  1. 类图(Class Diagrams):用于描述系统中的类、属性、方法和它们之间的关系等。

  2. 对象图(Object Diagrams):展示系统中特定时间点的对象实例。

  3. 用例图(Use Case Diagrams):用于描述系统的功能需求,表示系统如何与外部用户交互。

  4. 时序图(Sequence Diagrams):通常用于描述对象之间的消息通信顺序。

  5. 活动图(Activity Diagrams):用于展示系统中复杂的处理流程和控制流程。

  6. 状态图(State Diagrams):描述特定对象在某个时间段内处于哪种状态

用例图示例

 2. 类图

UML类图用于描述类以及类之间的关系

类图的示例

五、利用工具对项目开发工程进行管理

可以利用Gitee创建一个企业仓库进行时间的规划、任务的部署、整合代,可以方便协作,项目管理员可以邀请协作者加入项目,以便多人共同完成项目开发,同时也可以授予不同用户不同的权限,实现不同的功能。

任务的分配和时间图

六、开发项目

①.选用开发工具

数据库使用MySQL、前端使用HBuilder X、后端使用IntelliJ IDEA 

 ②.开发流程:

  1. 前端开发阶段:

    • 设计用户界面和交互流程。
    • 根据需求设计和开发前端页面和组件。
    • 使用HTML、CSS和JavaScript等前端技术进行开发。
    • 进行页面样式调整、兼容性测试和性能优化。
  2. 后端开发阶段:

    • 设计数据库结构和接口规范。
    • 开发后端业务逻辑和数据处理代码。
    • 使用后端语言(如Java、Python、Node.js等)进行开发。
    • 进行接口测试和性能优化。
  3. 接口联调和集成测试阶段:

    • 前后端进行接口联调,确保数据的正确传输和交互。
    • 进行系统整体功能测试,确保各个模块的协同工作正常。

③.示例代码: 

前端部分(Uni-app):

  1. 在 uni-app 目录中创建 pages/index 文件夹,并在该文件夹中创建 index.vue 文件。
  2. 在 index.vue 文件中创建一个表单,用于输入用户名和密码。
  3. 在 index.vue 文件中,添加一些 JavaScript 代码,用来执行组件之间的逻辑,并调用后端API以发送表单数据进行后台验证和保存。
<template>
  <view class="container">
    <form class="form" @submit="submitForm">
      <input type="text" v-model.trim="userName" />
      <input type="password" v-model.trim="password" />
      <button type="submit">Submit</button>
    </form>
  </view>
</template>

<script>
import { apiService } from '@/utils/apiService.js';

export default {
  data() {
    return {
      userName: '',
      password: '',
    };
  },
  methods: {
    async submitForm() {
      const res = await apiService.post('/users/login', {
        userName: this.userName,
        password: this.password,
      });
      if (res.code === 200) {
        // 登录成功后的处理逻辑
      } else {
        // 登录失败后的处理逻辑
      }
    },
  },
};
</script>

后端部分(Spring boot):

  1. 在 Spring Boot 工程创建 UserController 类,并在该类中创建一个 Login 方法,用于处理用户登录请求。
  2. 在 UserService 类中创建 findUser 方法,实现从 MySQL 数据库中查询用户信息的功能。
  3. 将数据库连接信息和其他相关信息添加到 application.properties 配置文件中。
@RestController
@RequestMapping("/users")
public class UserController {
    @Autowired
    private UserService userService;

    @PostMapping("/login")
    public Result login(@RequestBody UserLoginForm userLoginForm) {
        User user = userService.findUser(userLoginForm);
        if(user != null) {
            // 登录成功后的处理逻辑
            return Result.ok();
        } else {
            // 登录失败后的处理逻辑
            return Result.fail();
        }
    }
}
@Service
public class UserService {
    @Autowired
    private JdbcTemplate jdbcTemplate;

    public User findUser(UserLoginForm userLoginForm) {
        String sql = "SELECT * FROM user WHERE username = ? AND password = ?";

        try {
            User user = jdbcTemplate.queryForObject(sql, new Object[]{userLoginForm.getUserName(), userLoginForm.getPassword()}, new BeanPropertyRowMapper<>(User.class));
            return user;
        } catch (Exception e) {
            return null;
        }
    }
}
spring.datasource.url=jdbc:mysql://localhost:3306/test_db?serverTimezone=UTC&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=12345
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

七、总结 

总的来说,软件项目开发工程是一个极具挑战性的过程,涉及到许多方面的因素。因此,在开发过程中,需要建立一个良好的沟通和团队管理框架,并确保团队成员之间充分协作,建立合理的计划、流程、工具和方法,以最大程度地提高软件开发项目的效益和成功率。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值