Chapter 1 Conventional Software Management.ppt
《Chapter 1 Conventional Software Management.ppt》由会员分享,可在线阅读,更多相关《Chapter 1 Conventional Software Management.ppt(28页珍藏版)》请在麦多课文档分享上搜索。
1、Chapter 1 Conventional Software Management,Introduction,Three analyses of the state of the software engineering industry as of mid 1990s yielded: Software Development is still highly unpredictable Only about 10% of software projects are delivered successfully on time, within initial budget, and meet
2、s user requirements The management discipline is more of a discriminator in success or failure than are technology advances The level of software scrap and rework is indicative of an immature process. Behold the magnitude of the software problem and current norms! But is the theory bad? “Practice ba
3、d?” Both? Lets consider.,I. The Waterfall Model,Recognize that there are numerous variations of the waterfall model. Tailored to many diverse environments The theory behind the waterfall model good Oftentimes ignored in the practice The practice some good; some poor,Waterfall Theory Historical Persp
4、ective and Update,Circa 1970: lessons learned and observations Point 1: There are two essential steps common to the development of computer programs: analysis and coding - More later on this one.Point 2: In order to manage and control all of the intellectual freedom associated with software developm
5、ent, one must introduce several other overhead steps, including system requirements definition, software requirements definition, program design, and testing. These steps supplement the analysis and coding steps.” (See Fig 1-1, text, p. 7, which model basic programming steps and large-scale approach
6、)Point 3: The basic framework is risky and invites failure. The testing phases that occurs at the end of the development cycle is the first event for which timing, storage, input/output transfers, etc. are experienced as distinguished from analyzed. The resulting design changes are likely to be so d
7、isruptive that the software requirements upon which the design is based are likely violated. Either the requirements must be modified or a substantial design change is warranted. Discuss.,Waterfall Theory Suggested Changes Then and Now,1. “Program design” comes first. Occurs between SRS generation a
8、nd analysis. Program designer looks at storage, timing, data. Very high levelFirst glimpse. First concepts During analysis: program designer must then impose storage, timing, and operational constraints to determine consequences. Begin design process with program designers, not analysts and programm
9、ers Design, define, and allocate data processing modes even if wrong. (allocate functions, database design, interfacing, processing modes, i/o processing, operating procedures. Even if wrong!) Build an overview document to gain a basic understanding of system for all stakeholders.,Waterfall Theory S
10、uggested Changes Then and Now,Point 1: Update: We use the term architecture first development rather than program design. Elaborate: distribution, layered architectures, components Nowadays, the basic architecture MUST come first. Recall the RUP: use-case driven, architecture-centric, iterative deve
11、lopment process Architecture comes first; then it is designed and developed in parallel with planning and requirements definition. Recall RUP Workflow diagrams.,Waterfall Theory Suggested Changes Then and Now,Point 2: Document the Design Development efforts required huge amounts of documentation man
12、uals for everything User manuals; operation manuals, program maintenance manuals, staff user manuals, test manuals Most of us would like to ignore documentation. Each designer MUST communicate with various stakeholders: interface designers, managers, customers, testers, developers, ,Waterfall Theory
13、 Suggested Changes Then and Now,Point 2: Update: Document the Design Now, we concentrate primarily on artifacts those models produced as a result of developing an architecture, performing analysis, capturing requirements, and deriving a design solution Include Use Cases, static models (class diagram
14、s, state diagrams, activity diagrams), dynamic models (sequence and collaboration diagrams), domain models, glossaries, supplementary specifications (constraints, operational environmental constraints, distribution, .) Modern tools / notations, and methods produce self-documenting artifacts from dev
15、elopment activities. Visual modeling provides considerable documentation,Waterfall Theory Suggested Changes Then and Now,Point 3: Do it twice. History argues that the delivered version is really version #2. Microcosm of software development. Version 1, major problems and alternatives are addressed t
16、he big cookies such as communications, interfacing, data modeling, platforms, operational constraints, other constraints. Plan to throw first version away sometimes Version 2, is a refinement of version 1 where the major requirements are implemented. Version 1 often austere; Version 2 addressed shor
17、tcomings! Point 3: Update. This approach is a precursor to architecture-first development (see RUP). Initial engineering is done. Forms the basis for iterative development and addressing risk!,Waterfall Theory Suggested Changes Then and Now,Point 4: Then: Plan, Control, and Monitor Testing. Largest
18、consumer of project resources (manpower, computing time, ) is the test phase. Phase of greatest risk in terms of cost and schedule. (EST 1) Occurs last, when alternatives are least available, and expenses are at a maximum. Typically that phase that is shortchanged the most To do: 1. Employ a non-ves
19、ted team of test specialists not responsible for original design. 2. Employ visual inspections to spot obvious errors (code reviews, other technical reviews and interfaces) 3. Test every logic path 4. Employ final checkout on target computer,Waterfall Theory Suggested Changes Then and Now,Point 4: N
20、ow: Plan, Control, and Monitor Testing. Items 1 and 4 are still valid. 1) Use a test team not involved in the development of the system at least for testing other than unit testing 4) Employ final checkout on target computer. Item 2 (software inspections) good years ago, but modern development envir
21、onments obviate this need. Many code analyzers, optimizing compilers, static and dynamic analyzers are available to automatically assist May still yield good results but not for significant problems! Stylistic! Item 3 (testing every path) is impossible. Very difficult with distributed systems, reusa
22、ble components (necessary?), and other factors. (aspects),Waterfall Theory Suggested Changes Then and Now,Point 5 Old: Involve the Customer Old advice: involve customer in requirements definition, preliminary software review, preliminary program design (critical design review briefings) Now: Involvi
23、ng the customer and all stakeholders is critical to overall project success. Demonstrate increments; solicit feedback; embrace change; cyclic and iterative and evolving software. Address risk early,Overall Appraisal of Waterfall Model,Criticism of the waterfall model is misplaced. Theory is fine. Pr
24、actice is what was poor!,But: Less than 20% success rate,The Software Development Plan: Old Version,Define precise requirements Define precise plan to deliver systemConstrained by specified time and budget Execute and track to plan,Stakeholder Satisfaction Space,Initial Project SituationReused or le
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CHAPTER1CONVENTIONALSOFTWAREMANAGEMENTPPT
