zoukankan      html  css  js  c++  java
  • 软件工程 第二周作业

    软件工程第二周作业


    提出问题

    1. 一般来说,想要自己的程序跑得又快又好,就要减少函数的反复调用,但有所得则必有所失,效能提高就有可能伴随着程序的稳定性的降低,这两者应该如何权衡呢?

    2. 关于5.3.5 老板驱动的流程,这种开发流程模式存在着一些问题,那要如何解决这些问题呢?

    这种模式当然也有它的问题。
    领导对许多技术细节是外行。
    领导未必懂得软件项目的管理,领导的权威影响了自由的交流和创造。
    领导最擅长的管理方式是行政命令,这未必能管好软件团队或任何需要创造力的团队。
    领导的精力有限,领导很忙时,团队怎么办?

    我认为可以在老板与开发人员之间加入PM进行管理,一方面拥有基本的知识储备,可以与开发人员沟通,一方面又具备有较强的人际交往能力,可以与老板沟通,辅助管理等。

    3. 书本8.6.1 目标、估计和决心 中,有提到通过对自身的能力的估计以完成对项目完成所需时间的估计,事实上,自己正确认识自己的能力是一件很难的事情,那我们应该怎样去自我认知,并将其与项目完成联系在一起做出较准确的估计?有什么具体的方法吗?

    软件项目的难度还体现在另一个方面,软件工程师的【能力】没有合适的衡量单位,而且大部分依赖于估计值。例如,如果移山公司的程序员果冻一天能写一千行C++代码,那他10天就能写好一万行代码?!而且什么叫写好一万行代码?如果估计一个项目的代码量是10万行,难道十个像果冻这样的人10天就能做完?

    4. 在测试过程中,如果本身测试的数据不全面,或者测试的过程本身就存在问题,这时候就无法正确测试出来程序是否有BUG,这种时候要如何正确判断呢?

    5. “Ad hoc”在软件工程的实践中,大多是指随机进行的、探索性的测试,然而随机的话,就有可能有的地方随机不到,那这个测试方式的意义何在?一般进行测试的时候都是采用什么方式进行测试的?

    我认为,“Ad hoc”是一种特定性的测试,它是针对某一特定方向随机测试的,这样一来,如果某特定方向的功能我们没有考虑到,忽略了这个方向的测试,那就会存在潜在问题,届时将很麻烦。所以应该在测试过程中应该存在多种测试方法进行测试,确保没有潜在问题。

  • 相关阅读:
    array and ram
    char as int
    pointer of 2d array and address
    Install SAP HANA EXPRESS on Google Cloud Platform
    Ubuntu remount hard drive
    Compile OpenSSL with Visual Studio 2019
    Install Jupyter notebook and tensorflow on Ubuntu 18.04
    Build OpenCV text(OCR) module on windows with Visual Studio 2019
    Reinstall VirtualBox 6.0 on Ubuntu 18.04
    Pitfall in std::vector<cv::Mat>
  • 原文地址:https://www.cnblogs.com/HXY071/p/8589614.html
Copyright © 2011-2022 走看看