登陆注册
3765300000031

第31章 Software Engineering(1)

5.1 Software Engineering

Software engineering is the application of tools?? methods?? and disciplines to produce and maintain an automated solution to a real-world problem. It requires the identification of a problem?? a computer to execute a software product?? and an environment ??composed of people?? equipment?? computers?? documentation?? and so forth?? in which the software product exists. Clearly?? without computer programs there would be no software product and no software engineering. But this is only a necessary condition; it is not sufficient.

A large-scale software project spans a considerable period of time. A number of distinct phases can be identified over this period of time. Together?? these make up what is known as the "software life cycle".

While the actual terminology may differ?? most authors identify five key phases in the software life cycle.

The first phase?? requirements definition?? refers to the period during which the requirements of the system desired?? that is?? its functional characteristics and operational details?? are specified. The input to this phase is the stated ??often rather loosely stated?? needs for the software. Typically?? a "requirements document" is the output of this phase?? a set of precisely stated properties or constraints that the final product must satisfy. This is not a design?? but rather precedes the design?? specifying what the system should do without specifying how it is to do it. The existence of a requirements document provides something against which a design ??the next phase in the life cycle?? can be validated. Sometimes a quickly developed prototype can be a useful vehicle for debugging requirements.

As with any of the phases?? it is important that errors not be allowed to move into subsequent phases. An error in requirements?? for example?? a misstated function?? leads to a faulty design and an implementation that does not do what is required. If this is allowed to proceed undetected?? say?? until the testing phase?? the cost of repairing this error ??including redesign and re-implementation?? can be substantial.

The second phase?? design?? is predominantly creative?? while some would argue that creativity is inherent and cannot be trained or improved?? it can certainly be enhanced by the use of good procedures and tools. The input to this phase is a ??debugged and validated?? requirements document?? the output is a design expressed in some appropriate form ??for example?? pseudo-code??. Validation of a design is important. Each requirement in the requirements document must have a corresponding design fragment to meet it. Formal verification?? while possible to a limited extent?? can be exceedingly difficult. More informal revolve the entire design team?? management?? and even the client.

The third phase?? implementation?? is the actual coding of the design developed in the second phase. The lure of this phase is strong?? and many a foolhardy programmer has been drawn to it before adequately laying the groundwork in the first two phases. As a result?? requirements are incompletely understood and the design is flawed. The implementation proceeds blindly?? and many problems arise as a result.

The fourth phase?? testing?? is concerned with demonstrating tile correctness of the implemented program. Inevitably some testing is performed as part of the previous two phases as well. Any experienced programmer mentally tests each line as it is produced and mentally simulates the execution of any module prior to any formal testing stage. Testing is never easy. Edsger Dijkstra has written that while testing effectively shows tile presence of errors?? it can never show their absence. A "successful" test run means only that no errors were uncovered with the particular circumstances tested; it says nothing about other circumstances. In theory?? the only way that testing can show that a program is correct as if all possible cases are tried ??known as an exhaustive test???? a situation technically impossible for even the simplest programs. Suppose?? for example?? that we have written a program to compute the average grade on an examination. An exhaustive test would require all possible combinations of marks and class sizes; it could take many years to complete the test.

The fifth phase is program maintenance phase. Student programmers?? unfortunately?? rarely become involved in this phase. Its importance in the real world?? however?? cannot be over emphasized?? since the cost of maintaining a widely used program can match or exceed the cost of developing it. Unlike hardware maintenance?? software maintenance deals not with repair of deteriorated components?? but with repair of design defects?? which may include the provision of added functions to meet new needs. The ability of programmers to produce new programs is clearly affected by the amount of time they spend maintaining old ones. The inevitability of maintenance must be recognized?? and steps must be taken to reduce its time consumption.

Software design can be viewed in the same way. We use the requirement specification to define the problem. Then?? we declare something to be a solution to a problem if it satisfies all the requirements in the specification. In many cases?? the number of possible solutions is limitless. A customer can choose to implement one solution from among several possibilities.

同类推荐
  • 三句半搞定零售导购英语口语

    三句半搞定零售导购英语口语

    本书从“热情迎客”、“服装饰品”、“生活必须品”、“旅游纪念品”、“其他商品”、“商场服务”六个方面入手,围绕每个主题词挑选出“三句半”英文。”——“三句”是指最时髦实用的三个交流常用句,“半”是指点滴解析与说明,让你轻松学会一口流利的零售导购英语。本书以最地道、最实用的句型、对话,让你灵活应用、举一反三;以最纯正、最清晰的朗读为你提供超值的试听享受。精心安排的句型和对话,清楚地显示英语词、语、句的意义和表达能力,让你一说就上口。
  • 商务英语全能王

    商务英语全能王

    本书包含50个商务主题和15000个主题词汇,包含文化、商业理念以及主题词汇,涵盖商务领域方方面面,利用实景主题应对沟通中千变万化的场景,多角度历练商务场合处世哲学,是在国际商务谈判中占据先机的不二法宝。本书是实际商务情境的再现,适合商务人士学习使用。历练商务场合处世哲学,将英语学习与商务技巧双双收入囊中!
  • 一本书读懂消失的文明

    一本书读懂消失的文明

    《一本书读懂消失的文明(英汉对照)》主要内容包括世界上已经消失的14大古代文明,它们是古希腊文明、古罗马文明、古埃及文明、古巴比伦明、古印度文明、奥尔梅克文明、印加文明、玛雅文明、阿兹特克文明、吴哥文明、波斯波利斯文明、蒲甘文明、楼兰古国文明。曾经的它们抑或奇特璀璨,抑或神奇飘渺,抑或深蕴着乡土文化,抑或笼罩着城市风采,这些早已逝去的文明却留下了醉人的印记,带领着我们走进古老神秘的文明探索之旅。
  • 临时应急会话宝典

    临时应急会话宝典

    本书主要是为英语口语学习者准备的,以句子的形式表达各种情况。句子中包括了实用的词汇及短语。对于有相同说法的词语或句子,书中也做了说明。本书以主题划分,分为十大主题,主题以下又划分为具体的状况,比如:逛街购物时如何讨价还价,挑选衣服;面试找工作时,应聘者如何自我介绍,面试者如何提问;身在外国时需要去药店、去医院等等,涉及日常生活、工作、出国等方方面面,读者可以很轻松地找到应急的那句话。同时还配备MP3,让你听到原汁原味的英音。
  • 我爱读好英文:把逆境当作生命的礼物(英汉对照)

    我爱读好英文:把逆境当作生命的礼物(英汉对照)

    《我爱读好英文:把逆境当作生命的礼物》精选多篇经典寓言故事,并以中英双语的形式呈现给读者。书中的故事耐人寻味,它告诉人们,逆境是暂时的,超越逆境的智慧和勇气,来自于每个人最本真的内心。故事选材广泛,内容丰富,短小精悍,给人启发,是读者学习英文的最佳读本。
热门推荐
  • 恶魔首席在身边

    恶魔首席在身边

    他是A市传说般的存在,动动手,跺跺脚,都能够让商场和娱乐圈闻之色变。她是娱乐公司小小记者,伪萌耍宝只想安心过日子。哪知?一日进错房,恶魔首席便食髓知味再也不肯放开。于是,一场恶魔放养伪萌小野猫的大戏正式上演。“这次她又跑到什么地方去了?”男人点燃雪茄,幽深的双眸扬起一丝兴味。“回BOSS,夫人说她这次准备带着娃跑到你的生命里。”
  • 足球燃烧的岁月

    足球燃烧的岁月

    为足球疯,为足球狂!永远记住那为足球而燃烧的岁月。这是一个重生回到过去的少年,本着对足球的喜爱。在球场上叱诧风云的故事!
  • 老师是个神

    老师是个神

    曜月大陆修真界大能易宁意外穿到了现代一个凡人老师身上。修为全无的她为了找回自己的力量,决定入世体验人类的七情六欲。于是,翡光学院高二(十八)班的学生迎来了奇幻般校园生活之旅——修真界的修道者成为了他们的老师,妖界的妖王,Y国的吸血鬼成为了他们的同学。而高二(十八)班的学生们则狂热的表示——我爱学习!学习使我快乐!然而让易宁想不到的是,在这个世界里,有一个人,孤独的等了她两千多年……
  • 追妻无门:女boss不好惹

    追妻无门:女boss不好惹

    青涩蜕变,如今她是能独当一面的女boss,爱了冷泽聿七年,也同样花了七年时间去忘记他。以为是陌路,他突然向他表白,扬言要娶她,她只当他是脑子抽风,他的殷勤她也全都无视。他帮她查她父母的死因,赶走身边情敌,解释当初拒绝她的告别,和故意对她冷漠都是无奈之举。突然爆出她父母的死居然和冷家有丝毫联系,还莫名跳出个公爵未婚夫,扬言要与她履行婚约。峰回路转,破镜还能重圆吗? PS:我又开新文了,每逢假期必书荒,新文《有你的世界遇到爱》,喜欢我的文的朋友可以来看看,这是重生类现言,对这个题材感兴趣的一定要收藏起来。
  • 流离的萤火爱情

    流离的萤火爱情

    抬头看到的就是他那双孤傲的眼睛,散发着无数的寒气,让人不寒而栗,那张脸简直无懈可击,与哥哥相比似乎更胜一筹,但是他满脸的高傲和不屑,瞬间拒人于千里之外。那个冰山男依旧惜字如金,没有表情,我开始有些怀疑,老哥是不是认错人啦?呼呼,不理他们啦,走咯“答应我一个要求!”说得这么爽快?是早有预谋吗?可是不应该,总不至于他是策划者吧“要求?行,但是你不可以说…”委屈啊,莫名其妙地要答应冰山男一个要求。“不管如何,你都要信我!”那是你对我的乞求吗?一次次的错过,一次次的误会,他们之间是否经得起时间的考验?可爱善良的韩雪柔能够等到幸福钟声响起吗?面对昔日的男友、今时的未婚夫,她该如何抉择?求收藏,求推荐,求订阅,嘻嘻,我会再接再厉的~~~推荐——http://m.pgsk.com/a/450433/《邪魅总裁:女人,乖乖躺着!》推荐新作温馨治愈系列:听说,爱情回来过。http://m.pgsk.com/a/702512/
  • 上清含象剑鉴图

    上清含象剑鉴图

    本书为公版书,为不受著作权法限制的作家、艺术家及其它人士发布的作品,供广大读者阅读交流。汇聚授权电子版权。
  • 天机宫略

    天机宫略

    她,一不受宠的一国公主,在皇宫艰难求存。她,是整个大凉最特殊的存在 ,享尽荣华富贵万千宠爱,二人同住深宫,命运却截然不同。
  • 郡主驾到北君请接招

    郡主驾到北君请接招

    【黑历史,是真的黑历史】 一朝事变,她从云端跌落泥泞。本想手刃仇家之后寻个地方安安静静地过日子,可这莫名其妙缠上来的男人算怎么回事?成!他是大爷,惹不起她还躲不起吗?在第不知道多少次被逮回来,扶柳终于怒了,质问道:“有完没完?”男人嗤笑:“利用了本君就想跑,你确定你不是在做梦?”好吧,胳膊拧不过大腿,就先认一回怂,“大爷,那你想怎么样?”男人倾下身子,“本君要你还!用你的余生来还!”扶柳:“……”呵呵哒!世人皆道,北君欧杨儒雅俊逸,谦和有理,乃真君子也!扶柳:我呸!不过是披着一层儒雅人皮的大尾巴狼!……
  • 武道圣尊

    武道圣尊

    烈炎神君被人算计,借助偶得异宝转世重生,重新崛起,踏六合,扫八荒,破九宵,凭借大毅力终于杀回龙梵界,报仇血恨,最终成为一方神王,登得武道巅峰!
  • 绿龙帝国

    绿龙帝国

    翡翠之翼划破湛蓝苍穹,剧毒之息毁灭生者之愿,帝国臣民匍匐恶龙之足。万族之妹...额...长成这样,怎么可能符合陛下高尚的审美?都给我赶出去!这是一只绿龙在异世界颠覆旧秩序,创建新秩序的故事。......异兽流,种田流,守序邪恶。(剧情欢快,战斗宏大,绝不降智!不喜带妹者请直接删书。)读者群:751091262(急求萌妹、猛男催更!)