软件工程 Homework3

 1 /*******************************************************
 2      * Finds and prints n prime integers
 3      * Jeff Offutt, Spring 2003
 4      ******************************************************/
 5     public static void printPrimes (int n)
 6     {
 7         int curPrime; // Value currently considered for primeness
 8         int numPrimes; // Number of primes found so far.
 9         boolean isPrime; // Is curPrime prime?
10         int [] primes = new int [MAXPRIMES]; // The list of prime numbers.
11
12         // Initialize 2 into the list of primes.
13         primes [0] = 2;
14         numPrimes = 1;
15         curPrime = 2;
16         while (numPrimes < n)
17         {
18             curPrime++; // next number to consider ...
19             isPrime = true;
20             for (int i = 0; i <= numPrimes-1; i++)
21             { // for each previous prime.
22                 if (isDivisible(primes[i], curPrime))
23                 { // Found a divisor, curPrime is not prime.
24                     isPrime = false;
25                     break; // out of loop through primes.
26                 }
27             }
28             if (isPrime)
29             { // save it!
30                 primes[numPrimes] = curPrime;
31                 numPrimes++;
32             }
33         } // End while
34
35         // Print all the primes out.
36         for (int i = 0; i <= numPrimes-1; i++)
37         {
38             System.out.println ("Prime: " + primes[i]);
39         }
40     } // end printPrimes

a. 画出函数的控制流图

b. 设计一个t2=(n=5)能发现但t1=(n=3)不能发现的错误

如果这个函数的第22行 if (isDivisible(primes[i], curPrime))误写成了if (isDivisible(primes[0], curPrime)),即对以后的每个数是否是素数的检测,只检查它是否能被2整除。当n = 3时,找出的素数为2,3,5 没有出现错误;但是当n = 5时,找出的素数为2,3,5,7,9 出现错误

c. 寻找一组不经过while循环的测试用例

n = 1

d. 找出点覆盖、边覆盖和主路径覆盖的所有TR(测试需求)

  1. 节点覆盖:[1,2,3,5,6,9,5,6,8,10,11,2,4,12,13,14]

边覆盖:[1,2,3,5,6,9,5,6,8,10,11,2,4,12,13,14]

[1,2,3,5,10,2,4,12,14]

主路径:[1,2,3,5,6,8,10,11]

[1,2,3,5,10,11]

[1,2,3,5,6,9]

[5,6,9,5]

[2,3,5,6,8,10,2]

[2,3,5,6,8,10,11,2]

[2,3,5,10,2]

[2,3,5,10,11,2]

[1,2,4,12,13,14]

[1,2,4,12,14]

[3,5,6,8,10,11,2,4,12,13,14]

[3,5,6,8,10,2,4,12,13,14]

[3,5,10,11,2,4,12,13,14]

[3,5,10,2,4,12,13,14]

[3,5,6,8,10,11,2,4,12,14]

[3,5,6,8,10,2,4,12,14]

[3,5,10,11,2,4,12,14]

[3,5,10,2,4,12,14]

[9,5,6,8,10,11,2,4,12,13,14]

[9,5,6,8,10,2,4,12,13,14]

[9,5,6,8,10,11,2,4,12,14]

[9,5,6,8,10,2,4,12,14]

主路径覆盖:

[0,1,2,3,5,6,8,10,11,2,4,12,13,14]

[0,1,2,3,5,6,8,10,11,2,4,12,14]

[0,1,2,3,5,6,8,10,2,4,12,13,14]

[0,1,2,3,5,6,8,10,2,4,12,14]

[0,1,2,3,5,6,9,5,6,8,10,11,2,4,12,13,14]

[0,1,2,3,5,6,9,5,6,8,10,2,4,12,13,14]

[0,1,2,3,5,6,9,5,6,8,10,11,2,4,12,14]

[0,1,2,3,5,6,9,5,6,8,10,2,4,12,14]

[0,1,2,3,5,10,11,2,4,12,13,14]

[0,1,2,3,5,10,2,4,12,13,14]

[0,1,2,3,5,10,11,2,4,12,14]

[0,1,2,3,5,10,2,4,12,14]

时间: 2024-10-08 10:29:35

软件工程 Homework3的相关文章

软件工程——《构建之法》读后困惑

通过一周多对这本新书的快速阅读,发现自己存在很大的问题, 如下: 一.软件工程这门课与JAVA,C++等这些面向对象程序设计应该怎样对接起来? 二.软件工程这门课,除了在上课的时候认真跟着老师的思路走,课后空闲时间,我们该怎样单独,或者在团队里怎么学习? 三.提高我们这门课的能力是通过敲代码,还是提高自己的逻辑思维能力? 四.在即将到来的人工智能时代,软件工程师这个职业是否能一直活下去?

软件工程第二次作业--师兄采访

我采访的是李权师兄,虽然之前也有人采访过他,问题都是同样的问题,不过我挖掘出了和其他同学不一样的信息. 问题:    师兄,当时你们做的项目是什么,有多少用户, 现在还有人用吗? 李权师兄: 当时我们的项目名是约跑APP,当时用户有8人.在用户的手机上测试通过,能让用户找到一起跑步的小伙伴.现在已经没有人用了. 追问:该app给用户提供了什么样的服务? 李权师兄:app能提供给用户认识新朋友的平台.通过app,用户可以约人一起跑步. 第二个问题:师兄这个项目能否给我们团队继续开发,源代码还有么?

软件工程进阶

一直向往 it 行业, 不敢说有很深入的了解, 但一直有想法, 想做自己想做的, 想有我的 team 然而什么都计较那么清楚, 最后把自己吓傻了, 也不去做, 这种结局真的最没什么意思了, 曾经还有很多人还对未来充满决心, 2年内一些人陆续放下了梦想和计划, 上课,打游戏, 吃饭这些是多数人的轨迹, 我觉得可怕, 于是更坚持自己, 尽管知识浅薄, 但也在用心学习每个有帮助的课程, 老师说得对, 实际工作,沟通能力很重要, 软件工程这门课程我同样会用心, 希望有一天,以我之才,何须屈人之下. 也希

软件工程课程设计之XMAL

前言 最近做软件工程课设,因为需要用到可视化界面,经过仔细考察,在小组成员的建议下,最后决定使用XMAL做前台. 题目分析 题目:物理环境包括温度.湿度.大气压力.光照等参量.软件能够以图形化方式,实时显示各参量的状态,比如,显示温度的实时曲线图.具有参量报警功能,能够提供出行意见,具有历史数据查询功能.假设数据以存放在数据库中或文件中. 题目要求用图形化方式实时显示各参量状态,所以前台程序务必足够美观,选用XAML设计窗口界面,C#构建后台.这里主要总结一下XMAL.(我用到的,其实很少很水,

【集美大学1411_助教博客】2017软件工程开跑啦。。。

一.自我介绍 各位同学大家好,我是各位同学本学期软件工程这门课的助教,我叫郑蕊,现工作于吉林省长春市.很荣幸能再一次为<构建之法>担当助教,在之前担当助教的过程中,我已经获益良多,在此还是要感谢周老师和邹老师,感谢两位老师给我树立的优秀榜样,也感谢两位老师对我的教导和引导.很高兴这次能担当集美大学软工课的助教,在15年冬,我曾去过集美大学,那真的是一所风景非常优美的院校,从暴雪的东北到达绿意盎然的夏门,在集美大学的校园中漫步真是一件让人享受的事.希望本学期能和集美大学的同学们共同探讨软件工程,

云计算对于传统软件工程的影响

云计算对传统软件工程的影响 传统软件工程的概念 传统软件工程采用的一是结构化泛型,基本阶段按顺序如下:需求阶段.规格说明阶段.设计阶段.实现阶段.集成阶段.维护阶段.退役等,这是一种适用于代码量适中的传统软件开发方式. 而随着社会进步与技术发展,软件越来越复杂,计算越来越繁琐,代码量也越来越大,存储和处理的信息越来越多,软件规模也越来越大.而传统的结构化设计方法在大规模的软件的开发组织和维护方面困难重重,软件的复用性能也不好.于是发展出了云计算的概念. 云计算的概念 云计算是以数据为中心的一种数

敏捷软件开发VS传统软件工程

敏捷软件开发:又称敏捷开发,是一种从1990年代开始逐渐引起广泛关注的一些新兴软件开发方法,是一种应对快速变化的需求的一种软件开发能力. 与传统软件工程相比,它们的具体名称.理念.过程.术语都不尽相同,相对于"非敏捷",更强调程序员团队与业务专家之间的紧密协作.面对面的沟通(认为比书面的文档更有效).频繁交付新的软件版本.紧凑而自我组织型的团队.能够很好地适应需求变化的代码编写和团队组织方法,也更注重软件开发中"人"的作用. 本文将介绍敏捷软件开发的历史背景与发展,

10.2: 现代软件工程这门课已经上了好几年了,以前有很多学生做过团队项目(说不定包括本校的学生),请你们找一个以前的团队采访一下-------------答题者:徐潇瑞

10.2: 现代软件工程这门课已经上了好几年了,以前有很多学生做过团队项目(说不定包括本校的学生),请你们找一个以前的团队采访一下 - 当时的项目有多少用户,给用户多少价值? 现在还有人用吗? - 这个项目能否给我们团队继续开发,源代码/文档还有么? - 项目开发有什么经验和教训 - 对学好软件工程有什么建议 写成一个博客   #团队博客作业2 根据老师的作业要求,我们采访了以前本科认识的一个同学,他在读本科的时候出去实习,参与了一些项目.他参与了手机外卖app的开发,根据他的回答,当时用户有1

软件工程学期总结

软件工程. 我觉得软件工程的知识其实就是一个软件开发的方法论,给你一套前人总结出来的经验教训,让你少走弯路.做一件项目之前来个“可行性分析”(包括目的.要求和自己能力的估算) 这可能是我做事情之前缺少的一个步骤,然后到最后连自己要做什么都忘记了.这是做事的前提:先看事情是否应该做,是否值得去做,能否做成功.最后再去努力实现. 一个学期的软件工程,涉足java,web前后端和安卓...一个学期下来就一个感受:TM忙的屁滚尿流的.