版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1software engineering軟體工程http:/ objectivesnto learn about all the difficulties in developing software so that we can avoid pitfalls and myths in software designnto learn about different software processes so that we can choose a suitable onento learn to design high-quality efficient software so that
2、 it is usable and maintainablento learn about advanced methods for software engineering3course contentsnintroduction to software engineeringnsoftware processesnrequirements engineeringnsoftware designnobject-oriented software developmentnsoftware testing and verificationnsoftware project managementn
3、advanced methods4chapter 1introduction to software engineeringan overview of software engineering, including software crisis, myths, methods, evolution, and statushttp:/ crisisnsoftware mythsnwhat is software engineeringnevolution of software engineeringnstate-of-art in software engineering6the stat
4、istics chaos reportproject completion16%31%53%on time, on budget,with all of the specifiedfeatures and functionscancelled before theywere completeddelivered andoperational but over-budget, over-scheduleor with fewer featuresand functions thanspecifiednstandish group 1995n365 it executives in us comp
5、anies in diverse industry segments. n8,380 projectsaverage cost overrun = 189%average time overrun = 222%.61% of originally specified features included ?in averages 189% of original budget 221% of original schedule 61% of original functionality7symptom of software crisisnabout us$250 billions spent
6、per year in the us on application developmentnout of this, about us$140 billions wasted due to the projects getting abandoned or reworked; this in turn because of not following best practices and standards8symptom of software crisisn10% of client/server apps are abandoned or restarted from scratch n
7、20% of apps are significantly altered to avoid disastern40% of apps are delivered significantly late 9nsoftware products:qfail to meet user requirementsqcrash frequentlyqexpensiveqdifficult to alter, debug, enhanceqoften delivered latequse resources non-optimallyobserved problems10why is the statist
8、ics so bad?nmisconception on software developmentqsoftware myths, e.g., the man-month mythqfalse assumptionsqnot distinguishing the coding of a computer program from the development of a software productnsoftware programs have exponential growth in complexity and difficulty level with respect to siz
9、e.qthe ad hoc approach breaks down when size of software increases.11why is the statistics so bad?nsoftware professionals lack engineering trainingqprogrammers have skills for programming but without the engineering mindset about a process disciplineninternal complexitiesqessences and accidents made
10、 by fred. brooks12how is software usually constructed the requirements specification was defined like this the developers understood it in that waythis is how the problem was solved before. this is how the problem is solved nowthat is the program after debuggingthis is how the program is described b
11、y marketing dept.this, in fact, is what the customer wanted ;-)13software myths(customer perspectives)na general statement of objectives is sufficient to get started with the development of software. missing/vague requirements can easily be incorporated/detailed out as they get concretized.napplicat
12、ion requirements can never be stable; software can be and has to be made flexible enough to allow changes to be incorporated as they happen.14software myths(developer perspectives)once the software is demonstrated, the job is done.usually, the problems just begin!15until the software is coded and is
13、 available for testing, there is no way for assessing its quality.usually, there are too many tiny bugs inserted at every stage that grow in size and complexity as they progress thru further stages!software myths(developer perspectives)16the only deliverable for a software development project is the
14、 tested code.the code is only the externally visible component of the entire software complement!software myths(developer perspectives)17software myths (management perspectives)as long as there are good standards and clear procedures in my company, i shouldnt be too concerned.but the proof of the pu
15、dding is in the eating; not in the recipe !18software myths (management perspectives)as long as my software engineers(!) have access to the fastest and the most sophisticated computer environments and state-of-the-art software tools, i shouldnt be too concerned.the environment is only one of the sev
16、eral factors that determine the quality of the end software product!19software myths (management perspectives)when my schedule slips, what i have to do is to start a fire-fighting operation: add more software specialists, those with higher skills and longer experience - they will bring the schedule
17、back on the rails!unfortunately, software business does not entertain schedule compaction beyond a limit!20misplaced assumptionsnall requirements can be pre-specifiednusers are experts at specification of their needsnusers and developers are both good at visualizationnthe project team is capable of
18、unambiguous communication21nusually small in sizenauthor himself is sole usernsingle developernlacks proper user interfacenlacks proper documentationnad hoc development. nlargenlarge number of usersnteam of developersnwell-designed interfacenwell documented & user-manual preparednsystematic developm
19、entprogramssoftware productsconfused with programs and products22software programming software engineering nsoftware programming: the process of translating a problem from its physical environment into a language that a computer can understand and obey. (websters new world dictionary of computer ter
20、ms)qsingle developerq“toy” applicationsqshort lifespanqsingle or few stakeholdersnarchitect = developer = manager = tester = customer = userqone-of-a-kind systemsqbuilt from scratchqminimal maintenance23software programming software engineeringnsoftware engineeringqteams of developers with multiple
21、rolesqcomplex systemsqindefinite lifespanqnumerous stakeholdersnarchitect developer manager tester customer userqsystem familiesqreuse to amortize costsqmaintenance accounts for over 60% of overall development costs24what is software?software is a set of items or objects that form a “configuration”
22、that includes programs documents data .(“software engineering- a practitioners approach,” pressman, 5ed. mcgraw-hill) 25what is software (ctd.)?or you may want to say:qsoftware consists of n(1) instructions (computer programs) that when executed provided desired function and performance,n(2) data st
23、ructures that enable the programs to adequately manipulate information, and n(3) documents that describe the operation and use of the programs. 26what is software (ctd.)?but these are only the concrete part of software that may be seen, there exists also invisible part which is more important:qsoftw
24、are is the dynamic behavior of programs on real computers and auxiliary equipment.q“ a software product is a model of the real world, and the real world is constantly changing.”qsoftware is a digital form of knowledge. (“software engineering,” 6ed. sommerville, addison-wesley, 2000)27unique characte
25、ristics of softwarensoftware is malleablensoftware construction is human-intensivensoftware is intangible and hard to measurensoftware problems are usually complexnsoftware directly depends upon the hardwareqit is at the top of the system engineering “food chain”nsoftware doesnt wear out but will de
26、terioratensoftware solutions require unusual rigornsoftware has discontinuous operational nature28casting the termnthe field of software engineering was born in nato conferences, 1968 in response to chronic failures of large software projects to meet schedule and budget constraintsnsince then, term
27、became popular because software is getting more and more important to industry and business but the “software crisis” still persists.29what is software engineering?ndifferent focuses for this term exist in various textbooks. some are listed below.nthe application of a systematic, disciplined, quanti
28、fiable approach to development, operation, and maintenance of software; that is, the application of engineering to software. (ieee standard computer dictionary, 610.12, isbn 1-55937-079-3, 1990)30what is software engineering? (ctd)nsoftware engineering is concerned with the theories, methods and too
29、ls for developing, managing and evolving software products. (i. sommerville, 6ed.)na discipline whose aim is the production of quality software, delivered on time, within budget, and satisfying users needs. (stephen r. schach, software engineering, 2ed.)nmulti-person construction of multi-version so
30、ftware (parnas, 1987)31nthe practical application of scientific knowledge in the design and construction of computer programs and the associated documentation required to develop, operate and maintain them (b.w. boehm)nthe establishment and use of sound engineering principles in order to obtain econ
31、omically software that is reliable and works efficiently on real machines (f.l. bauer)what is software engineering? (ctd.)32nthe technological and managerial discipline concerned with systematic production and maintenance of software products that are developed and modified on time and within cost c
32、onstraints (r. fairley)na discipline that deals with the building of software systems which are so large that they are built by a team or teams of engineers (ghezzi, jazayeri, mandrioli)what is software engineering? (ctd.)33other definitions of software engineeringn“a systematic approach to the anal
33、ysis, design, implementation and maintenance of software.” (the free on-line dictionary of computing)n“the systematic application of tools and techniques in the development of computer-based applications.” (sue conger in the new software engineering)n“software engineering is about designing and deve
34、loping high-quality software.” (shari lawrence pfleeger in software engineering - the production of quality software)34so, software engineering is nscopeqstudy of software process, development principles, techniques, and notationsngoalsqproduction of quality software, qdelivered on time, qwithin bud
35、get, qsatisfying customers requirements and users needs35software processnwaterfall life cyclenprototypingnspiral modelnautomatic synthesis modelnobject-oriented modeln4 gl model36traditional software engineeringsoftware systemsdatafunctionbehaviorentity-relationdiagramdata flowdiagramstate transiti
36、ondiagram37object-oriented software engineeringsoftware systemsfunctionobjectbehaviordata flowdiagramclassdiagramstate chart38evolution of software industrynindependent programming servicensoftware productnenterprise solutionnpackaged software for the mass39independent programming services (era 1)nf
37、eb 1955, elmer kubie and john sheldon founded cuc qthe first software company that devoted to the construction of software especially for hardware company. npromoting software industry: two major projects,qsabre, airline reservation system, $30 million.qsage, air defense system (19491962) 700/1000 p
38、rogrammers in the us. $8 billion.40software product (era 2)n1964 martin goetz developed flowchart software - autoflow for rca, but rejected.nsale to the customer of rca & ibm.ndevelop and market software products not specifically designed for a particular hardware platform.qmark iv, a pre-runner for
39、 the database management system.nibm unbundled software from hardware.41enterprise solutions (era 3)ndietmar hopp. ibm germanyqsystems, applications and products (sap) $3.3billion (1997)qsetting up shop in walldorf, germany.qmarked by the emergence of enterprise solutions providers. e.g. baan 1978.
40、netherlands. $680 million (1997) oracle 1977. u.s. larry ellison.qerp, $45 billion (1997)42packaged software for the masses (era 4)nsoftware products for the masses. 1979.qvisicalc, spreadsheet program.naugust 1981: the deal of the century.qbill gates bought the first version of the os from a small
41、firm called seattle computer products for $50,000 without telling them it was for ibm.qthe development of the ibm pc, 1981, initiated a 4th software era.npc-based mass-market software. few additional services are required for installation. qmicrosoft reached revenues of $11.6 billion. packaged softw
42、are products, $57 billion (1997)43internet software and services (era 5)ninternet and value-added services period, 1994. wqwith netscapes browser software for the internet.44object-orientedad hocdata flow-baseddata structure-basedcontrol flow-basedevolution of design techniques45related knowledge46i
43、t markethardwareproductshardwaremaintenancesoftware products& servicesprocessing servicesand internet servicesembeddedsoftwareprofessionalservicesoftwareproductsenterprisesolutionpackagedmass-marketsoftware47software products and servicesenterprise solutionsibmoraclecomputer associatessaphpfujitsuhi
44、tachiparametric technologypeople softsiemenspackaged mars-market softwaremicrosoftibmcomputer associatesadobenovellsymantecintuitautodeskapplethe learning companyprofessional software servicesanderson consultingibmedscscscience applicationscap geminihpdecfujitsubso origin48software engineering today
45、?norganizations “go with what has worked in the past”neveryone is too busy getting product out the door to spend time in education or training or addressing these problems effectivelyn“out of date” practices become institutionalized49software engineering today?nfew people know, or can integrate, bes
46、t practices qunable to adopt and utilize proven methodologies in timely fashion nalthough significant improvements have been made in specific areas, the rapidly evolving nature of the software industry has resulted in little overall improvement in the overall situation.50not crisis, but a chronic pr
47、oblemnthe crisis persistsqafter 35 years later, the software “crisis” is still with usqmajor problems are still the same:npoor quality (correctness, usability, maintainability, etc)nover budgetndelivered late, or not at allnit is not a crisis but a chronic problem qit becomes a persistent, chronic c
48、ondition that software industry has to face with51whats wrong?ndoes software engineering have no progress at all? not quite true.qwe have indeed seen a lot of improvements, e.g. high level programming, object-oriented technology, etc.nbut it does not achieve its promise, why? qproduction of fault-fr
49、ee software, delivered on time and within budget, that satisfies the users needs, and is easy to maintain, etc.52a more close looknthe comparison with 1995s report does show that there is some progress in the past eight years.53so, whats the problem?nsoftware issues: software industry has changes a
50、lot in the past yearsneducation issue: more emphasis on methods and tools but lack of sufficient education and training on peoplenprocess and quality issue: there lacks of a set of known proven practices for software engineers to follow with54software changes in the past yearsnchanges in software ov
51、er time:qgrew in size from 10s or 100s of lines to 1000s to 1,000,000s of lines of codeqoperating environment changed from simple “batch” operations to complex multiprogramming systems, to time-sharing and distributed computing to todays internet network computing environment.55software changes in t
52、he past yearsnas computer systems (both hardware and software) have become larger and more complex, the software development process has also become more and more complex qthe simple art of “programming in the small” is no longer capable of coping with the task.56situations for software are differen
53、t toondriven by intense market forces, including persistent pressure to deliver software on unrealistic time schedulesqrapidly changing requirementsqpressures for faster time to marketncontinuing rapid evolution of software methodologies and systemsqintegration of new processes and techniquesqneed to re-design major systems57situations for s
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京市-2024年-社區(qū)工作者-下半年筆試真題卷
- 2021年10月貴州銅仁市沿河土家族自治縣事業(yè)單位公開(kāi)招聘沖刺題(一)
- 2021年10月廣西欽州市浦北縣事業(yè)單位公開(kāi)招聘模擬卷(一)
- 常用維修工具識(shí)別和使用考核試卷
- 媒體傳播辦公區(qū)租賃合同
- 離婚協(xié)議書中稅務(wù)規(guī)劃調(diào)整
- 長(zhǎng)征講座 課件
- 兒童圖書館志愿者聘用協(xié)議
- 家裝施工合同:博物館展柜制作
- 中草藥行業(yè)衛(wèi)生防疫規(guī)范
- 新能源汽車消防安全培訓(xùn)
- 《特殊兒童個(gè)別化教育方案設(shè)計(jì)與指導(dǎo)的研究》課題報(bào)告
- 2024年西安陜鼓動(dòng)力股份有限公司招聘筆試沖刺題(帶答案解析)
- 繼發(fā)性高血壓知識(shí)講解
- 一年級(jí)數(shù)學(xué)計(jì)算競(jìng)賽試題
- MOOC 行政管理學(xué)-西北大學(xué) 中國(guó)大學(xué)慕課答案
- 刮痧治療糖尿病
- 藝術(shù)中國(guó)智慧樹(shù)知到期末考試答案2024年
- (新人教版)高中英語(yǔ)必修第三冊(cè)全冊(cè)分單元教材解讀(共5個(gè)單元)
- 大班安全危險(xiǎn)物品我不帶
- 2024年江蘇揚(yáng)州市邗江區(qū)邗糧農(nóng)業(yè)發(fā)展有限公司招聘筆試參考題庫(kù)含答案解析
評(píng)論
0/150
提交評(píng)論