软件工程(第五次作业)

题目:

  必做:1,2,3和4中的1)

  选做:4中的2)和3)

  1、请运行下面code,指出其功能;

 ( 需附运行结果截图,并用简短文字描述其功能)

  2、请将该code进行代码重构,使之模块化,并易于阅读和维护;

  3、观看视频The Expert (Short Comedy Sketch),写出观后感(内容是什么,说明了什么问题,有什么启示),提交到博客!

  4、学习在项目中使用 jar 文件:

    1)在下列code中导入jar文件“commons-lang3-3.3.2.jar”,并运行,将运行结果截图提交到博客:

1、(1)运行代码截图:

(2)此代码的功能主要是:随机生成三个人的姓、名和年龄。其中其姓和名分别存在其Strng的两个数组中,年龄的值在18-38范围内。

2、重构代码截图:(以下截图主要是对for循环进行重构,重构方法名分别为Name和Temp)

截图1:

截图2:

  3、观看视频The Expert (Short Comedy Sketch),写出观后感(内容是什么,说明了什么问题,有什么启示),提交到博客!

           此短剧讲诉的是一群完全什么技术都不懂的CEO,产品经理和设计师对一个工程师提出,叫他画出7根红线,且它们必须互相两两垂直,而且有一些用绿色墨水、有一些用透明墨水来画的幽默小短剧。在商谈过程中,工程师提出了自己的第一个看法,“红线”意味着线要用红色墨水画,要是用绿墨水是不可能的,但其上司和老板一直认为既然他是公司最好的工程师,就 一定又能力做出来。之后,客户简单解释一下,叫他用透明墨水画红线就好了,其后,工程师叫客户描述一下她想象的最终结果是什么样子的,可没有得到想要的答案。于是,他们又开始从直线垂直的问题出发,讨论直线相互完全垂直。工程师提出自己的问题,他问:“和什么垂直?”,客户说:“跟所有东西垂直啊”,工程师解释了,两条线可以垂直,但是7条线没有办法互相垂直。可客户不服输,尝试画出了根本不相互垂直的三条直线(构成三角形),随后他们决定不管形状。于是工程师说出了自己所想的,先画两条完美垂直的红线,然后再用透明墨水把剩下几根画出来,虽然这样他们是隐形的,但是会画出来。这时,客户又提问:“有几条用绿色画会更好看。呃,如果OK的话,我还想问个问题,你可不可以画一根像小猫一样的线?” , 工程师说画成小猫就不是直线的,但客户此时提出将小猫改成小鸟。
           看完视屏后,我觉得这里面客户与设计公司间的沟通存在着问题。此视屏中的客户与工程师之间并没有好好的沟通。客户对自己所需产品的特征并没有和工程师解释清楚,以至于工程师对此项目并不了解。加上工程师的上司,他们根本什么都不了解,只是一味的认为既然你是我公司这方面的专家,就一定能做出项目,将项目交给你就行。我认为,一个项目能很好地开发,需要对客户的需求进行深入的了解,客户要想的到所需要的,也应与开发公司解释清楚自己所需。
   

  4、学习在项目中使用 jar 文件:

    1)在下列code中导入jar文件“commons-lang3-3.3.2.jar”,并运行,将运行结果截图提交到博客:

 1 package mine;
 2 
 3 import org.apache.commons.lang3.time.StopWatch;
 4 
 5 public class Driver {
 6 
 7     public static void main(String[] args) {
 8         // TODO Auto-generated method stub
 9         System.out.println("Running...");
10         
11         StopWatch myStopWatch = new StopWatch();
12         
13         myStopWatch.start();
14         
15         performLengthyProcess();
16         
17         myStopWatch.stop();
18         
19         System.out.println("Time is:" + myStopWatch.getTime() + " millis");
20         
21         System.out.println("Finished...");
22 
23     }
24     
25     private static void performLengthyProcess(){
26         try{
27             Thread.sleep(3000); //3 second delay
28             
29         }catch(InterruptedException e) {
30             e.printStackTrace();
31         }
32     }
33 
34 }

结果截图:

 

    2)将四则运算程序的功能部分和界面部分分离,并将功能部分封装为jar文件(对java语言)或dll(对c语言);

    3)在项目中使用对应的jar或dll文件,运行四则运算程序。

原文地址:https://www.cnblogs.com/zze-ysj-zdl-zdj-jiaren/p/4513681.html