telepathy直播间问答

时间:2024.3.31

莎士比亚作品哈姆雷特的经典名言?

拿破仑的名言随便说一个? 爱情公寓里美嘉的口头禅是什么? 周杰伦喜欢用哪句话回答问题? 美少女战士变身时说的台词是? 皇后对魔镜最常说的话是什么?

沙僧的经典台词是什么? 蜡笔小新看到美女会问什么? 佟湘玉的口头禅是什么? 名侦探柯南的至理名言是什么?

额滴神啊!

生存还是毁灭,这是一个问题

真相永远只有一个!

大师兄,师傅被妖怪抓走了!

你喜欢吃青椒嘛?

月棱镜威力,变身!

哎哟,不错哟!

我一口盐汽水喷死你!

魔镜啊魔镜,世界上最美的人是谁?

统治世界的是想象力!

人发生的使体核温度升高的一种状态是?

皮肤变差了脾气变坏了可能出现什么紊乱?

指排便次数减少、粪便量减少、排便费力等是指什么? 腰椎间盘各部分在外力因素的作用产生腰部疼痛症状是指?

多个朋友多条路,多个冤家多堵什么?

在家靠父母,出门靠什么?

一寸光阴一寸金,寸金难买寸什么?

平时不烧香,临时抱什么?

好记性不如什么?

世上无难事,只怕有什么?

烂笔头

心人

光阴

佛脚

朋友

腰间盘突出

发烧

便秘

内分泌

想问朋友借钱说什么?

学生时代听得最多的一句话

别人在你睡觉时吵架,你会说? 警察抓到犯人,会说什么话? 吵架到最生气时会说什么?

古代犯人一上公堂会喊什么? 周星驰版唐伯虎对着死蟑螂说了什么?

结婚时的最经典祝福语?

与陌生人共事,开始时应该先说哪句话? 用幽默的方式给别人讲道理可以说?

请多关照

小强,你不能死啊!

我诅咒你!

吵死了!

你有权保持沉默

最近手头有点紧

好好学习天天向上

大人,冤枉啊!

子曾经曰过

百年好合,白头偕老


第二篇:telepathy


When Telepathy Won’t Do:

Requirements Engineering Key Practices1

Process I

The software industry is exhibiting an increasing interest in requirements engineering —that is, understanding what you intend to build before you’re done building it. Despite the hype of“Internet time,” companies across many business domains realize that time spent understandingthe business problem is an excellent investment. Clients have told me they’re getting serious aboutrequirements because the pain of having built poor products has simply become too great.

You can best achieve requirements success by applying established good practices on yourprojects.1,2 Figure 1 suggests a requirements development process framework with steps thatincorporate the key practices described here. Thoughtfully tailor the practices to suit your projecttype, constraints, and organizational culture. Some highly exploratory or innovative projects cantolerate the excessive rework that results from informal requirements engineering. Mostdevelopment efforts will benefit from a more deliberate and structured approach, though.Telepathy and clairvoyance rarely suffice.Karl E. Wiegers

A REQUIREMENTS ENGINEERING FRAMEWORK

Requirements engineering is primarily a communication, not technical, activity.Communication problems can begin early on if project participants have different ideas of exactlywhat “requirements” are. My favorite definition comes from Ian Sommerville and Pete Sawyer1:Requirements are…a specification of what should be implemented. They aredescriptions of how the system should behave, or of a system property or attribute.They may be a constraint on the development process of the system.

This definition points out that many different kinds of information fall in the domain of softwarerequirements. A project needs to address three levels of requirements, which come from differentsources at different project stages:

? Business requirements describe why the product is being built and identify the benefitsboth customers and the business will reap.? User requirements, captured in the form of use cases, describe the tasks or businessprocesses a user will be able to perform with the product.? Functional requirements describe the specific system behaviors that must beimplemented. The functional requirements are the traditional “shall” statements foundin a software requirements specification (SRS).1 Published in Cutter IT Journal, May 2000. Reprinted with permission from Cutter Information Corp.

When Telepathy Won’t DoPage 2

Figure 1. A suggested requirements development process.

A lack of agreement over what to call the entire software requirements field can lead tofurther confusion. I split the domain of requirements engineering into requirements developmentand requirements management (Figure 2). Requirements development is further subdivided intoelicitation, analysis, specification, and verification.3 Each of the requirements engineering keypractices described below fits into one of these subdisciplines. The deliverable from requirementsdevelopment is a baseline that constitutes an agreement among key project stakeholders as to thenew product’s capabilities. During requirements management, the project controls changes in therequirements baseline and monitors requirements implementation.

ELICITATION KEY PRACTICES

Software product development must begin by gathering the different kinds of requirementsfrom suitable stakeholders. The critical first step is to...

Define the Product’s Business Requirements

Surveys at my seminars suggest that nearly everyone has worked on projects that sufferedfrom scope creep, yet few of these projects had a documented scope or vision. How do you evenknow that the scope is creeping if no one ever clearly defined it? Documented businessrequirements will help you answer the first question to ask whenever someone proposes newfunctionality: “Is this in scope?”

The business requirements should articulate how the product’s developers and their

telepathy

customers will benefit from this product. A short vision statement describes what the product

Copyright ? 2000 by Karl E. Wiegers

When Telepathy Won’t DoPage 3

Figure 2. Subdisciplines of requirements engineering.

could ultimately become. However, you probably won’t implement the grand product vision in asingle release. Therefore, you should include the project’s scope and limitations with the businessrequirements. The scope description should summarize the major features included in the initialrelease and describe how you will more fully realize the vision through subsequent releases. Thelimitations identify specific capabilities the product will not include. A vision and scope documenttemplate is available at /goodies.shtml. Once you’ve defined your projectscope, be sure to...

Get Extensive User Involvement

Multiple studies indict insufficient user involvement as a common reason why softwareprojects struggle and fail (for example, see /chaos.html). Every projectshould identify its distinct user classes and their characteristics. Users might differ in theirfrequency of product use, features used, privilege levels, or skill levels. Determine which of youruser classes will carry the most weight in priority discussions, when resolving conflicting featurerequests, and in driving design choices.4

Next, find suitable representatives who can serve as the voice of the customer for eachimportant user class. I have used a “product champion” model to engage user representatives inthe development process.2 Product champions should be actual users of the new product, notsurrogates such as user managers, funding sponsors, marketing staff, or developers. Documentyour general expectations of the product champions to serve as a starting point for negotiatingeach champion’s responsibilities. Typical responsibilities include:

? Developing usage scenarios and use cases? Resolving conflicts between proposed requirements? Defining implementation priorities? Specifying quality attributes? Inspecting requirements documents? Evaluating and prioritizing enhancement and change requests.

telepathy

Copyright ? 2000 by Karl E. Wiegers

When Telepathy Won’t DoPage 4

The product champion approach works well for internal systems development whereusers are readily accessible. Commercial product development often demands more creativeapproaches for optimizing customer involvement. One company that developed a large point-of-sale and back-office system hired several store managers to serve as full-time product champions.Focus groups can serve as a sounding board for feature ideas but they generally don’t have thedecision-making authority that product champions have. Nearly everyone I know who has triedthe product champion approach found it to be highly effective. Make sure you select the rightchampions, that they take their responsibilities seriously, and that they’re empowered to makerequirements decisions.

Once you’ve engaged suitable customer representatives, your elicitation discussionsshould...

Focus on User Tasks

The use case approach is all the rage in software requirements circles these days and isone fad I endorse. A use case describes a task the user must be able to perform with a softwareproduct. Use cases shift requirements discussions from the traditional focus on features andfunctionality to the perspective of what the user will do with the product. This change inperspective is more important than whether you draw elaborate use case models.

The use case approach helps you avoid missing essential functional requirements orimplementing cool functionality that no one uses because it isn't directly related to specific tasks.They can also help you identify exception conditions the system must handle, which sometimesare overlooked in the focus on expected system behaviors. I have found use cases valuable forderiving conceptual system test cases very early in the development process.5 The test casesalmost immediately revealed errors in my functional requirements and analysis models.

User representatives can generally describe their business processes and itemize the tasksa new application must let them perform. Skillful facilitation keeps elicitation workshops focusedon user tasks, rather than drifting into discussions of functional requirements or detailed userinterface design. The analyst should first learn how a user imagines interacting with the system toaccomplish each task. That understanding lets the analyst derive the necessary functionalrequirements. But in addition to specifying the desired system functionality, make sure you...

Define Quality Attributes

I once worked with a project that had excellent user involvement and created a high-quality, detailed SRS. However, the delivered system failed to satisfy the users’ unstatedperformance and efficiency expectations. Consequently, the system met with poor useracceptance, despite fully meeting their functional needs. Elicitation generally focuses on thefunctional requirements, which describe what the system will do or let the user do. It’s equallyimportant to understand how well the system will perform its functions.

Quality attributes (sometimes collectively known as the “ilities”) include characteristicsthat users can observe as well as those that are primarily important to developers.2,6 Users mightcare immensely about system availability, efficiency, integrity, reliability, robustness, and usability.The technical staff should also be concerned about such characteristics as flexibility,maintainability, portability, and reusability. You’ll likely have to make trade offs to achieve theoptimum balance of quality attributes; you can’t create the best of all possible worlds.

Copyright ? 2000 by Karl E. Wiegers

When Telepathy Won’t DoPage 5

Users rarely present such nonfunctional requirements spontaneously, other than to demandthat the system be “user-friendly” (no one has ever requested a user-surly application). “User-friendly” is too subjective and multi-faceted to let stand, so you must explore the characteristicsthat would make an application appear user-friendly to its various users. Consider asking aboutdesirable attributes before diving into functionality discussions. This can reveal critical designobjectives that a functionality-first approach might miss. Unless you ask questions to understandthe users’ implicit quality expectations, only luck will let you build a product that satisfies thoseexpectations.

ANALYSIS KEY PRACTICES

Requirements analysis includes decomposing high-level requirements into detailedfunctional requirements, constructing graphical requirements models, and building prototypes.Analysis models and prototypes provide alternative views of the requirements, which often revealerrors and conflicts that are hard to spot in a textual SRS. Another important analysis activity isto...

Prioritize Requirements

Any project with resource limitations must establish the relative priorities of the requestedfeatures, use cases, or functional requirements. Prioritization helps the project manager plan forstaged releases, make trade-off decisions, and respond to requests for adding more functionality.It can also help you avoid the traumatic “rapid descoping phase” late in the project, when youstart throwing features overboard to get a product out the door on time.

Prioritization often becomes politically and emotionally charged, with all stakeholdersinsisting that their needs are most important. A better approach is to base priorities on someobjective analysis of how to deliver the maximum product value within the schedule, budget, andstaff constraints. Many organizations classify requirements into “musts” and “wants,” or they usethree priority classifications (they’re high, medium, and low, no matter what labels are used). Butpriorities really span a spectrum, rather than fitting tidily into just a few buckets.

A more analytical approach is to rate the relative customer value and the relative cost andtechnical risk of each feature. Customer value considers both the benefit if a feature is present andthe penalty if it is not. The most desirable features should be those that provide the greatest valueat the lowest risk-adjusted cost. A spreadsheet that implements this prioritization scheme isavailable at /goodies.shtml.

SPECIFICATION KEY PRACTICES

The most essential (yet often neglected) specification key practice is to write down therequirements in some accepted, structured format as you gather and analyze them. The objectiveof requirements development is to communicate a shared understanding of the new productamong all project stakeholders. Historically, this understanding is captured in the form of a textualSRS written in natural language, augmented by appropriate analysis models. I don’t expect to seeformal specification languages in widespread use for decades to come, so natural language willcontinue to be the medium of choice, despite its ambiguities and shortcomings. However, you canovercome the limitations of storing requirements in a textual document if you...

Copyright ? 2000 by Karl E. Wiegers

When Telepathy Won’t DoPage 6Store Requirements in a Requirements Management Tool

Commercial requirements management tools let you store requirements and relatedinformation in a multi-user database. These products let you manipulate the database contents,import and export requirements, and connect requirements to objects stored in testing, design,and project management tools.7 You can define attributes for each requirement, such as its versionnumber, author, status, origin or rationale, allocated release, and priority. Traceability linksbetween individual requirements and other system elements help you evaluate the impact ofchanging or deleting a requirement. Web access permits real-time sharing of database updateswith members of geographically distributed teams.

Table 1 lists several widely used requirements management tools. These are specificallyrequirements management—not requirements development—tools. They won’t help you scopeyour project, gather the correct requirements from the appropriate user classes, or write goodrequirements. However, they’ll give you much more control over your requirements collectionthan you can achieve with traditional SRS documents.

Table 1. Major Requirements Management ToolsToolVendor

Caliber-RM

DOORS

RequisitePro

RTM Workshop

Vital LinkTechnology Builders, Inc.; Quality Systems and Software, Inc.; Rational Software Corporation; Integrated Chipware, Inc.; Compliance Automation, Inc.; VERIFICATION KEY PRACTICES

Verification involves evaluating the correctness and completeness of the requirements, toensure that a system built to those requirements will satisfy the users’ needs and expectations. Thegoal of verification is to ensure that the requirements provide an adequate basis to proceed withdesign, construction, and testing. A powerful way to achieve this goal is to...

Inspect Requirements Specifications

Because it costs so much more to fix defects later in the development process, formalinspection of requirements is perhaps the highest leverage software quality practice available. Iknow of one company that has measured a return on investment from SRS inspections of ten toone. My colleagues who have successfully implemented requirements inspections find them to betedious, slow, painful, and worth every minute because so many defects are found so cheaply.Combining formal inspection with incremental informal requirements reviews provides a powerfulapproach to building quality into your product.

Copyright ? 2000 by Karl E. Wiegers

When Telepathy Won’t DoPage 7REQUIREMENTS MANAGEMENT KEY PRACTICES

Requirements management activities include evaluating the impact of proposed changes,tracing individual requirements to downstream work products, and tracking requirements statusduring development. You can monitor project status by knowing what percentage of the allocatedrequirements have been implemented and verified, just implemented, or not yet fully implemented.But the heart of requirements management is to...

Manage Requirements Changes

Every project should document a process that describes how a proposed change will besubmitted, evaluated, decided upon, and incorporated into the requirements baseline. You cansupport the change control process with a problem- or issue-tracking tool, but a tool is not asubstitute for a documented process. Every project should also establish a change control boardof the decision-makers who approve or reject each proposed change. This board could be just oneperson on a small project. More typically, a body representing diverse perspectives (such asdevelopment, management, customer, and testing) is appropriate. A requirements managementtool can help you manage the changes made to many individual requirements, maintain revisionhistories, and communicate changes to those affected by them.

PUTTING THE PRACTICES INTO PRACTICE

It’s easy to rave about how wonderful life will be if you apply all of these great practices.The hard part is incorporating new techniques into the way your organization routinely operates.The grass-will-be-greener argument motivates some people to change the way they work, butobserving that the grass is on fire right behind you is even more persuasive. Process changesshould be motivated by the pain of schedule slippages, overtime, rework, high repair costs, andcustomer dissatisfaction that you’ve experienced before. The improvement-driven organizationwill examine the sources of such pain and avoid repeating the same problems.

Organizations that try to implement improved requirements practices encounter numerousobstacles. Emphasizing requirements might not sit well with customers or managers who viewcode as the only tangible sign of progress. It takes time to learn about, try out, and incorporatenew ways of working, yet few people have patience for the inescapable learning curve. Intuitively,putting more time into the front end of a project will delay delivery by that same duration, but thisdoesn’t consider the potentially high return on investment from better requirements engineering.8It’s impossible to predict the exact ROI a specific project can expect. However, correcting arequirement defect reported by a customer can easily cost 100 times more than addressing thaterror during requirements development.

To help build your case for improved requirements practices, identify problems fromprevious projects that you can attribute to requirements weaknesses. Estimate the costs of thoseproblems as a way to justify the investment in new techniques or tools. Begin by implementingthose new practices that are not especially difficult or time-consuming to adopt, but which have ahigh potential benefit—the low-hanging fruit.2 Obtain management and project leadercommitment to trying the new practices. Train the business analysts, developers, managers, andkey customers in requirements principles and practices. Such training can provide a commonvocabulary and understanding that reduces the barrier to trying new techniques. Avoid thetemptation to swallow any new methodology whole. Instead, selectively incorporate individualpractices into your elicitation, analysis, specification, verification, and management activities.

Copyright ? 2000 by Karl E. Wiegers

When Telepathy Won’t DoPage 8

Pilot new practices in low-risk situations to learn how best to make them work for youbefore you incorporate them into your official requirements process. Remember that no process isa substitute for common sense and thoughtful problem solving. If you are sure that some of thesepractices don't apply to your project, don't force-fit them.

Despite your best attempts to persuade your colleagues that improved requirementspractices are valuable, you might encounter people I call flat-earthers. Just as there are peoplewho still believe our planet is flat, there are skeptics who refuse to be convinced that betterrequirements processes are worth the price. None of these approaches will succeed unless yourorganizational culture includes a shared commitment to building high-quality software products ina disciplined way. I’ve seen all the practices described here used to good effect on real projects.I'm convinced they’re worth a try on your projects, too.

References

1. Ian Sommerville and Pete Sawyer, Requirements Engineering: A Good Practice Guide(Wiley, 1997).2. Karl E. Wiegers, Software Requirements (Microsoft Press, 1999).3. Richard H. Thayer and Merlin Dorfman, Software Requirements Engineering, 2d ed. (IEEEComputer Society Press, 1997).4. Donald C. Gause and Brian Lawrence, “User-Driven Design,” Software Testing & QualityEngineering, Vol. 1, No. 1 (January/February 1999), pp. 22-28.5. Ross Collard, “Test Design,” Software Testing and Quality Engineering, Vol. 1, No. 4(July/August 1999), pp. 30-37.6. Peter DeGrace and Leslie Hulet Stahl, The Olduvai Imperative: CASE and the State ofSoftware Engineering Practice (Yourdon Press/Prentice-Hall, 1993).7. Karl Wiegers, “Automating Requirements Management,” Software Development, Vol. 7, No.7 (July 1999), pp. S1-S5.8. Dean Leffingwell, “Calculating the Return on Investment from More Effective RequirementsManagement,” American Programmer, Vol. 10, No. 4 (April 1997), pp. 13–16.

Copyright ? 2000 by Karl E. Wiegers

更多相关推荐:
Better late than never

BetterlatethanneverGoodmorningdearprofessorsItsmyhonourtohaveaspeechhereWellmyspeechisahoutBetterlatethanneverWhenI...

Better late than never

ThemeBetterlatethanneverTopicasimplefactInChinathereisanoldstorycalledbetterlatethanneverButtodaymystoryisdifferent...

better late than never

BetterlatethanneverThereisastorythatwasapersonhadraisedalotofsheepOnedayAwolfateasheepthemasterthoughtthewolfwouldn...

Better Late than Never

Unit3passage1BetterLatethanNever1Hewaslyingthereinthegrasshidingandthinking2Hehadstudiedthelittlegirl39shabitsHekne...

Better late than never

1Betterlatethannever迟做总比不做好2Whateverisworthdoingatallisworthdoingwell凡是值得做的事就值得做好3Theshortestanswerisdoin...

Do you agree that Better late than never

DoyouagreethatBetterlatethannever灵Haveyoueverheardaboutthisstory彤whatstory灵HereisthestoryAChinesefable寓言s...

better early than late

GoodafternoonladiesandgentlemenEveryonehasaproverbthatinfluenceshimforalifetimeFortheengineerworkingveryharditisnop...

全国英语演讲大赛演讲稿之第十名Chinese philosopher, Confucius,

GoodafternoonLadiesandgentlemantwothousandyearsagotheChinesephilosopherConfuciusadvocatedaharmonioussocie...

beatles freetalk

TheBeatleswerearockmusicsensationinthe19xxsand19xxsEveryonehadafavoriteamongthefourForsomepeopleitwasPaulMcCartneyt...

英语freetalk话题1

TOPICOFFREETALK1今日话题SecretloveWereyouasecretadmirerforsomeoneHowwasyourfeelingHowdoyouthinkaboutsecretlov...

复习freetalk

1MyfavouriteauthorMyfavouriteauthorisErnestMillerHemingwayHewasagreatauthorHewasfromAmericanHewasborninChicagoHisac...

二下freetalk 模板

二年级下册Freetalk模板Unit7HelloGoodmorningGoodafternoonMynameisMickyImtenyearsoldIlikefoodanddrinkIlikefruitsto...

better late than never演讲稿(7篇)