现代软件工程-构建之法---第一章:练习与讨论

1.小学四则运算程序

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int num=0,num1=0;
int m[1000][100];
char oper[4]={'+','-','*','/'};
int main()
{
    int a,b,c,d,e,flag,i,j;
    for(i=1;i<=1000;++i)
        for(j=1;j<=i;++j)
            if(i%j==0)
                m[i][m[i][0]++]=j;
    srand(time(0));
    while(1)
    {
        system("cls");
        printf("当前答题数:%d 正确数:%d 正确率:%.2lf%%\n",num,num1,num?num1*1.0/num*100:0);
        flag=0;
        c=rand()%4;
        while(1)
        {
            flag=0;
            if(c<3)
            {
            a=rand()%1000;b=rand()%1000;
            }
            else
            {
                a=rand()%1000;
                b=rand()%m[a][0];
                b=m[a][b];
            }
            switch(c)
            {
                case 0:
                if(a+b<=1000)
                    flag=1,d=a+b;
                break;
                case 1:
                if(a>=b)
                    flag=1,d=a-b;
                break;
                case 2:
                if(a*b<=1000)
                    flag=1,d=a*b;
                break;
                case 3:
                if(a%b==0)
                    flag=1,d=a/b;
                break;
            }
            if(flag)
                break;
        }
        printf("%d%c%d=?\n",a,oper[c],b);
        num++;
        scanf("%d",&e);
        if(e==d)
        {
            printf("恭喜你回答正确!\n");
            num1++;
        }
        else
        {
            printf("很遗憾,回答错误,正确答案是%d\n",d);
        }
        system("pause");
    }
}

2.自我介绍

       大家好,我叫冯泽鑫,感觉好久都没有这么正式的写过自我介绍了,一直对计算机感兴趣,也很想了解计算机行业,其实也就是好奇,好奇这种高科技的东西,也很想在这个领域了解了解,但是后来报了这个专业我才发现自己脑海里所想的计算机和正规一点都不一样,大一学了C语言,数字电路更是感觉听不懂,但是还是在努力的去学习,到了大二有了Flash,Photoshop还是有点兴趣的,软件工程也是让我有了博客可以去发表自己的想法,我觉的我可以在这门学科上多给予一些时间的,每天加上上课的时间我可以拿出来三个小时去学习一下这门课,同时也希望能在这门学科上有所作为。可以学到一些专业性的知识。

3.在一周之内看完整部教材,列出5~10个问题

      首先已经通读了一边教材,大致看了一下每章的内容,问题如下:

1、现实的开发过程中往往会比理论中多出很多问题,比如需要如何能够将需求细化到任务,然后在细化到设计,最终使得能够在规定的时间内有条不紊的完成目标?

2、如果最后做性能分析的时候发现性能问题造成的原因是前期一个隐藏在很深地方的不妥当架构造成的,这个时候该如何取舍?

3、团队项目如何合理的分配成员的任务?

4、若用户需求和优化后的软件起冲突时,要按照用户的需求继续做还是优化的软件?

5、结对成员一定要区分出强弱进行结对么?

以上是目前能想到的问题,之后有的话我会继续提出来的。

4.对软件分类方法的看法

Games特点:网络游戏具有大众娱乐性、技术领先性、真实竞争性、互动沟通性和经营可靠性这几大特点。网络游戏,在新的境界中还原了游戏的本源——人与人的互动。人是社会中的人,人的生活也是社会中的生活。网络游戏把对人们个体生活的虚拟归根到对社会生活的虚拟中来了。在网络游戏中,“人”不再是执行着游戏程序,而是在创造着游戏生活——没有存档重来的机会,没有明确预知的结局,每一个选择都将成为永远的历史,每一个人都在影响着他人,而每一个人也都在被他人影响着。游戏的技术或方式将来一定还会发生难以想象的变化,但是,超越了游戏境界的人与人的互动性,恰恰就是网络游戏永恒的魅力所在。

  Mobile Apps特点广义移动应用包含个人以及企业级应用。狭义移动应用指企业级商务应用。移动应用不只是在手机上运行软件那么简单,它涉及到企业信息化应用场景的完善、扩展,带来ERP的延伸,让ERP无所不在,通过广泛的产业链合作为用户提供低成本整体解决方案。移动应用将带来企业信息化商业模式的创新变革。移动应用行业盈利难  ,这也是业内人士预测的结果。

Operating System特点:操作系统是一管理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石。操作系统身负诸如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。

1).比如说端游—英雄联盟,它的开发者会将游戏进行推广,找名人或主播代言打广告或者做游戏活动,进而让玩家注意到这款游戏。我认为游戏的开发者是为了盈利。

2).软件是推荐的。当时是高考结束后的暑假。刚开始觉得不怎样好玩,玩过一段时间就觉得还可以,可以组队开黑,做任务,领取奖励。

3).开发游戏的后台人员处理Bug,更新版本会放出公告进行更新。

4).我认为同类型软件会通过优化游戏体验,修复BUG来竞争,来赢得更多的用户。

5.对软件工程的看法

       我认为软件工程是让内些熟练的软件工程师继续优化他们自己的开发形式,其次就是让更多的人能很好很快的接触到这个领域。

6.你所在的学校有计算机科学专业和软件工程专业么?相关专业的教学计划和毕业出路有什么不同?

我们学校有计算机科学与技术专业和软件工程专业。

  教学计划:软件工程的教学计划:该专业开设的主要课程包括:计算思维、网页设计技术、面向对象程序设计、离散数学等学科基础 课程,数据结构、操作系统、算法分析与设计、Python语言、C++程序设计、ASP.NET程序设计、Java程序设计、J2EE架构与应 用、移动应用的设计与开发、数据库原理、Oracle数据库技术、云计算与大数据处理技术、软件需求分析与建模、软件设计模 式与体系结构、软件工程综合实践、软件测试、软件构造、软件项目管理、计算机组成原理、计算机网络、互联网技术、Linux 操作系统实用技术、软件工程职业实践等。

  计算机科学与技术专业的教学计划:该专业开设的主要课程:软件测试、自动化测试、PS、Flash、音视频剪辑与制作、数字电路、离散数学、C++程 序设计、面向对象程序分析与设计、数据结构、数据库原理、计算机组成原理、操作系统、微机原理、接口技术及应用、 Java程序设计、软件项目管理、计算机组装与维护、计算机网络、网络安全技术、编译 原理、嵌入式系统及应用设计、物联网理论及应用等。  

  就业方向:计算机科学与技术专业因为学的比较广泛,包括计算机硬件、计算机通信、编程、计算机控制等方向,主要就职于 各种互联网公司、软件公司、研究院、研究机构。而软件工程主要侧重于软件的设计开发,就业主要是软件公司,各种互联网公司。

猜你喜欢

转载自www.cnblogs.com/fzx200056/p/9220750.html