读后感:
一个软件的生命周期,包括问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,也有将以上阶段的活动组合在内的迭代阶段。一个完整的软件周期需要我们和客户之间商量好需求,对软件进行分工,写的软件要可读性强易修改等等。要完成一个顶呱呱的软件,需要有大概模型,不断尝试探索,最终到考虑周全的成熟阶段,现在所学的东西都是为以后打基本功,冰冻三尺非一日之寒,只有做好现在才会尽量减少书到用时方恨少的情况。
软件包括系统软件+应用软件+恶意软件,开发软件我们要考虑软件的模块复杂性和相互关联,出现问题时由于不可见性软件出现问题之后的修改,面对新的需求不同的硬件如何修改,对用户的要求参数的变化系统别的部分的要求做出服从,对错误意外做出非连续性反应等难题,这就需要负责不同部分的软件开发的人员相互配合,寻找用户满意度高,软件可靠性强,软件流程配合高效,可维护性强的办法。
课后作业:
1.阿超的四则运算
要求随机出现50道整数/真分数的四则运算+不重复
代码:
//桃子之——阿超的四则运算 /*要求: 1.随机产生50个四则预算,包括整数和真分数 2.要求不重复 */ package bb; import java.util.Random; import java.util.Scanner; import java.util.Vector; //阿超的运算程序 public class Cc { public static void main(String args[]){ Scanner sc=new Scanner(System.in); Random ne=new Random(); Vector vet=new Vector(); for(int i=1;i<=50;i++){//50题 每题的要求在for循环里判断 boolean flag=false;//判断当真分数时进行循环 String jg=" ";int a = 0,b=0,c=0,d=0,e=0,f=0;char h='-';//初始化随机数 while(flag==false) { a=ne.nextInt(301); b=ne.nextInt(301); c=ne.nextInt(301); d=ne.nextInt(301); e=ne.nextInt(301); f=ne.nextInt(301); if(a<b&&c<d){ flag=true; Object[] obj = new Object[4];//混合数组 {整数,整数,真分数,真分数} obj[0]=e; obj[1]=f; obj[2]=a+"/"+b; obj[3]=c+"/"+d; int objcd1=ne.nextInt(obj.length); Object m=obj[objcd1];String str1=m.toString(); int objcd2=ne.nextInt(obj.length);//获取混合数组的一个元素 Object n=obj[objcd2];String str2=n.toString(); char[] fh={'+','-','*','/'};//符号数组 int ysfh=ne.nextInt(fh.length); h=fh[ysfh]; //查重 jg=str1+" "+h+" "+str2+" "+"="; for(int j=0;j<vet.size();j++){ if(vet.get(j).equals(jg)) flag=false; else vet.add(jg); } if(flag==true) System.out.println(str1+" "+h+" "+str2+" "+"="); } } } } }
结果截图:
学到的东西:
1.随机发生器—数组:
先引用:
import java.util.Random;
再定义:
Random ne=new Random();
定义int数组mm
再在数组中随机产生:
int lh=ne.nextInt(m.length);
int sj=mm[lh];
2.java混合型数组定义:
object obj=new object[3];
obj[]=1;obj[1]="abc";obj[2]=a+"/"+b;
java混合数组的获取
得到对象数组
Object obj = myobj[i];
获取字符串
String str = obj.toString();
System.out.println(str);
3.不重复就是要求产生的四则运算表达式不重复
java没有动态数组,需要用到vector
Vector vet==new Vector();
String str="test1";
double t1=0.124;
vet.add(str);
vet.add(String.valueOf(t1));
用 vet.size()获取其大小;通过vet.get(i)获取第i个元素(i从0开始);且类型为Object,转换一下就可以了。
总结:一年半的时间学了忘,思路是自己的,但方法是查阅的,很羞愧。
4.选取软件并分析:
一moblie apps手机应用
软件开发者如何说服陌生人成为用户:方便好用和便宜,比如有了支付宝后我们出门不用携带大量现金,有了QQ后我们传送文件不用面对面拷贝,有了微信我们的朋友圈比QQ空间更保密,vsco强大的调色功能和风格也使它脱颖而出......
他们的目的是盈利吗:肯定是为了赚钱的,但是赚钱的方法又有很多,比如通过免费获取巨大的用户群,然后在此基础上创造新的价值链。
他们的目都是赚取现金密码,还是别的:软件盈利方式有很多,有的软件下载需要付费,有的有试用版正式版需要付费,有的普通用户不收费但是会员收费。比如,有形是增值业务,商家入驻佣金,o2o手续费,广告推广,应用分成收入,无形如流量,带动自家其他业务。