zoukankan      html  css  js  c++  java
  • 【2020BUAA软件工程】个人项目作业感想

    2020BUAA软件工程(cdot)个人项目作业感想

    一、简介

    本博客的主要内容为,在完成软件工程个人项目作业后,对个人项目作业的总结,以及对北航软件工程课程的一些感想及建议。

    项目 内容
    本感想属于北航软件工程课程 博客园班级博客
    作业要求请点击链接查看 个人项目作业要求
    个人项目作业博客 个人项目作业博客

    二、个人项目作业总结

    个人开发能力对于软件开发团队是至关重要的,这次作业的目的是希望通过一个难度适中的软件项目,训练同学们的个人开发能力,学习软件开发中的常见流程,因为是软件工程课程的第一项编程作业,故本项目也具有让同学们快速上手,理解课程要求等目的。

    本次作业难度适中,是一项基于命令行的开发项目,涉及数据结构和算法的一些知识,这些知识都是我们在先前课程中有基础的,所以在实现难度上没有太大的障碍。但作为软件工程课的一项作业,我们可以从中学到很多软件开发的常见流程。

    在作业中,首先进行PSP分析,制定整个开发过程的计划。之后进行需求分析,撰写设计文档,包括算法设计、代码架构、画UML图等。在充分进行设计工作后,进行开发编码。开发的每一个组件都使用VSIDE提供的单元测试功能进行单元测试,并对之前开发的组件进行回归测试。开发完成后,进行整体测试,测试通过后,使用VSIDE的性能探测器进行性能评估,对性能瓶颈处进行性能提升,对代码进行不断完善。最后撰写博客进行总结,提出有待思考的问题,以便在下一次开发时有进步。

    在本项目的开发流程中,我认为撰写设计文档部分是最重要的,也是耗时相对最多的。在学习软件工程课之前,我很少撰写设计文档,通常都是直接开始编码,但是在写代码过程中会发现自己最初的想法有很多漏洞,于是再推翻重构,浪费很多时间。本次作业中我在编码前做了足够的设计工作,架构设计的足够合理,使得编码过程中思路非常清晰。另外在第二项作业:结对编程中,我们组基于我在本项目的架构,十分方便地就做到了扩展,完成了需求。可见对于软件工程而言,需求理解与设计是最为重要的一环,不可或缺。

    三、对课程的感想与建议

    北航的软件开发课程在前几年还是选修课,现在已经成为必修课,我觉得,接受软件工程课程的训练是十分有必要的。在大一大二,我们经历了数据结构、算法、面向对象等基础编程课程等学习,但这些课程的编程都是规模较小、面向课程知识的训练。比如面向对象课程中,我们写了相对较复杂的电梯调度、地铁换乘等作业,但其主要目的是为了训练面向对象课程中多线程、设计模式等具体知识点,而并不是要写一个可以使用的软件。

    但是对于大三的学生而言,我们需要接受软件工程的训练,开发一些复杂且真正实用的软件。既可以对先前课程所学的编程知识做一个巩固提升、锻炼工程能力,更重要的是,与工业接轨,为即将毕业的我们提供软件开发能力的训练。

    最后为软件工程课程提一些建议,我觉得课程节奏有些前紧后松,个人项目和结对编程项目本身编码任务量就不小,加之要做好设计文档,写好总结博客,总体任务量确实很大,我个人感觉在前几周几乎把全部的学习时间都用在软件工程课上了。而到了团队项目,由于团队人数较多,博客任务相对较少,就显得比前几周轻松。所以我觉得是否可以调整一下课程的时间分配,或者减少个人项目和结对编程的工作量,让同学拥有更好的课程体验。

    最后附上黄衫照片~感谢软件工程课程组~

  • 相关阅读:
    7月15日考试 题解(链表+状压DP+思维题)
    暑假集训日记
    C# .NET 使用 NPOI 生成 .xlsx 格式 Excel
    JavaSE 基础 第42节 局部内部类
    JavaSE 基础 第41节 匿名内部类
    JavaSE 基础 第40节 内部类概述
    JavaSE 基础 第39节 接口的应用
    JavaSE 基础 第38节 接口的实现
    JavaSE 基础 第37节 接口概述
    JavaSE 基础 第36节 抽象类概述与使用
  • 原文地址:https://www.cnblogs.com/old-jipa-deng/p/12794065.html
Copyright © 2011-2022 走看看