首页 > 其他分享 >软件工程对个人工作流程的的认识

软件工程对个人工作流程的的认识

时间:2023-03-09 20:12:08浏览次数:37  
标签:工程师 认识 流程 环节 开发 软件工程 测试 软件

之前对于编程的学习及联系主要分为两种:学习某种编程语言的特性;联系某些算法或按某种模式处理数据。

前者例如学习C语言,这是学习编程语言的基础,不是软件工程。 后者例如学习数据结构与算法,也是完成单一目的的训练,不是软件工程。 那么什么样的练习才算是符合软件工程要求的训练呢?一是复杂性;二是易变性。这是有价值的软件工程必须触及的两个元素。对处理数据而言:由小数值的数拓展到大数即为复杂性;需求可变化即为易变性。

1.单元测试:单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。

一个典型的软件开发项目,通常包括需求定义与分析、设计、实现、测试、交付与维护几个部分,测试人员在各个环节中也起着不同的作用:

了解客户的真实需求,是一个项目的开始,它定义了整个软件产品的方向。

需求定义与分析环节的主导人通常是项目经理,同时会邀请开发代表、测试代表共同参与需求分析的各类会议,一起评估项目的可行性,期间需要完成对需求进行分解、输出需求细化文档、定义最后验收的标准等工作。

测试代表在这个环节需要给出对项目可测试性的评估。

二、设计

获得最终细化后的需求后,需要对整个软件的架构进行设计。

设计环节的主导人通常是具有一定资历的开发专家,也就是我们常说的架构师,他们需要站在足够的高度,对产品的开发框架进行设计,确认开发各类规范、技术标准等。

测试架构师在这个环节需要结合开发的语言、项目的特点,搭建相应的测试框架,为后续的测试进行准备。

三、实现

整体开发框架设计完成后,进入开发实现的环节。

实现环节的主导人通常是软件开发工程师,他们需要参照分解后的需求,以模块划分的方式进行开发,最后再把各个单元整合成一个系统。

测试开发工程师在这个环节要提出一些常见的边界、非法参数可能导致的程序异常问题,确保开发同事提前做好防护,同时解决开发同事在执行单元测试中遇到的各类问题。

四、测试

在功能开发完成,开发同事也完成功能自验后,会交给测试工程师进行进一步的验证。

测试环节的主导人通常是测试工程师,他们需要依照项目进度安排,制定合理的测试计划,去开展相应的测试工作。

测试工程师在这个环节需要设计相应的测试用例,尽可能地去覆盖产品的各类使用场景,发现软件潜在的缺陷,从更加专业的角度去把控软件的质量。

五、交付与维护

在测试完成后,软件开发人员也对一些严重程度较高的缺陷完成修复后,进入最后的交付与维护阶段。

交付与维护的主导人通常是运维人员,他们需要提供产品安装、产品使用、产品售后支持等一系列工作。

2.个人开发流程:个人软件过程(Personal Software Process,PSP)是一种可用于控制、管理和改进个人工作方式的自我持续改进过程,是一个包括软件开发表格、指南和规程的结构化框架。PSP与具体的技术(程序设计语言、工具或者设计方法)相对独立,其原则能够应用到几乎任何的软件工程任务之中。PSP能够说明个体软件过程的原则; 帮助软件工程师作出准确的计划;确定软件工程师为改善产品质量要采取的步骤;建立度量个体软件过程改善的基准;确定过程的改变对软件工程师能力的影响。

综上,在掌握个人技术与流程后,开展一些具有复杂度和易变性的真正意义上的软件工程个人开发,才能使大家成长为一个真正的软件工程师。

 

标签:工程师,认识,流程,环节,开发,软件工程,测试,软件
From: https://www.cnblogs.com/guoweizhe/p/17201237.html

相关文章

  • 齐鲁云采入驻流程-电商入驻流程
    商城系统对接入驻,后期帮您把商品上传到商城上,让产品上架成功。我们的系统操作简单便捷,如果后期有任何关于政采网的问题我们会第一时间帮您处理系统会定期进行更新帮您升级......
  • APP违法违规收集使用个人信息合规评估服务范围和流程
    近期,工信部通报2023年第1批《侵害用户权益行为的APP通报》(总第27批),共通报46款APP(SDK),这些被责令限期整改的APP(SDK),涉及的问题主要包括3个方面:收集个人信息明示告知不到位、超......
  • 1、认识soar
    SOAR的概念最初是Gartner在2015年提出的,指的是“SecurityOperations,AnalyticsandReportingStack”,即“安全运维分析与报告”。 随着安全技术与市场的演变,S......
  • 深入认识setState
    深入认识React类组建修改状态-setStatesetState,它对状态的改变,可能是异步的;如果改变状态的代码处于HTML元素事件中,则其是异步的,否则是同步如果遇到某个事件中,需要同步......
  • 不写代码,如何实现自动触发Salesforce审批流程?
    通过将Salesforce审批流程(ApprovalProcesses)与Flow的强大功能相结合,可以增强你的业务流程。随着ProcessBuilder和WorkflowRules逐步被淘汰,Flow成为了主流的Salesforce......
  • 软件测试基础-软件测试基本流程
    注:软件测试流程是根据遇到的各种问题不断优化和提高的,公司/项目不同,流程也会不同。以下为非通用标准,仅供大家参考。  目的: 采用通用的测试流程,能高效、高质量的完成......
  • 2023年3月8日(软件工程日报)
    在Android体系中,CompoundButton类是抽象的,复合按钮,因为是抽象类,所以它不能直接使用。实际开发中用的是CompoundButton的几个派生类,主要有复选框CheckBox、单选按钮RadioBut......
  • python的基本认识
    python的基本认识 初识python:python是一种跨平台的、开源的、免费的、解释型的高级编程语言;python的应用领域十分广泛、如web编程、图像处理、黑客编程、网络爬虫和......
  • 软件工程日报十二——安卓studio数据的删除与修改
    本篇博客来介绍安卓studio的数据删除与修改源码如下:Mainactivitypackagecom.example.sqlitetest;importandroidx.annotation.Nullable;importandroidx.appcompat......
  • 认识交换机硬件
    产品总站点:https://info.support.huawei.com/info-finder/search-center/zh/enterprise/switch#switch以基础交换机和数据中心交换机两种典型产品来认识交换机CloudEngin......