当前位置:文档之家› 软件需求分析复习要点

软件需求分析复习要点

Software Engineering⏹ A discipline for the systematic production and maintenance of software developed by ateam, which is⏹fault-free,⏹delivered on time,⏹within budget, and⏹satisfies the user’s needs⏹GOAL: to produce a good quality software that is useful for peopleProperties of High quality softwareDefect freeMeet user’s needsIn timeWithin budget⏹Communication:⏹Project initiation, Requirements gathering⏹Planning⏹Estimating, Scheduling, Tracking⏹Modeling⏹Analysis & Specification⏹Design⏹Construction⏹Code, testing⏹Deployment⏹Delivery, support, maintenance⏹Requirements⏹Definition需求明确地规定解决用户问题的方法⏹Their ImportanceThe set of requirements constitute a contract between the client and the software developerIt should be written such that all stakeholders can understand what the systemwill do.It allows developer to map problem domain concepts to solution domainconcepts⏹ClassificationFunctional requirements(具体的系统功能要求)Nonfunctional requirements(可靠性,可用性,性能等等)Design constrains(限制设计者和实现者的规定)⏹Requirements Management⏹DefinitionA systematic approach to eliciting ,documenting, organizing and trackingchanging requirements⏹ProcessElicitation: work with the customer on gathering requirementsAnalysis: process this information to understand it, classify in various categories, and relate the customer needs to possible software requirementsSpecification: Structure the customer input and derived requirements as written documents and diagramsValidation:you’ll ask your customer to confirm that what you’ve written is accurate and complete and to correct errors⏹User’s Needs , Features and Requirements⏹DifferencesA reflection of the business, personal, or operational problem that must be addressed inorder to justify the use of a new systemA service the system provides to fulfill one or more stakeholder needsSkill1⏹Definition of Problem Analysisthe process of understanding real-world problems and user needs and proposing建议提议solutions to meet those needs⏹What is Root Causes Analysis?An identified reason for the presence of a defect or problem.The most basic reason, which if eliminated, would prevent recurrence.The source or origin of an event.⏹How to address the problem:⏹Step 1: Gain agreement on the problem definition⏹Step 2: Understand the root causes⏹Step 3: Identify the stakeholders and the users⏹Step 4: Define the solution system boundary.⏹Step 5: Identify constraints to be imposed on the solutionSpecific Problem Analysis Techniques⏹Business modeling⏹Applicable to IS/IT applications⏹Systems Engineering⏹Applicable to software-intensive systems in the embedded-system domainSkill2⏹requirements elicitationInvolves technical staff working with customers to find out about the application domain, the services that the system should provide and the system’s operational constraints⏹Techniques for eliciting requirements⏹Interviews and questionnaires⏹Requirements workshop (Definition)⏹Brainstorming sessions and idea reduction⏹Storyboards⏹Scenario-based Requirements ElicitationActor, Use Cases ,ScenarioUse casea technique for capturing找准the functional requirements of the system定义:A use case describes the typical interactions between the users of a system and the system itself that yield a result of value to the users帮助理解:A use case contains a set of scenariosScenario describes sequences of actions a system performs that yield an observable result of value to a particular actorSkill3⏹Use-Case ModelSystem Context- summarizes the high-level behavior of a system⏹What the system does (as a black-box)⏹What lies outside of the system⏹How it gets usedUse-Case Model: requirements in context⏹Step-By-Step Building of the Use-Case ModelStep 1: Identify and describe the ActorsStep 2: Identify the use Cases and write a Brief DescriptionStep 3: Identify the Actor and use-Case RelationshipsStep 4: Outline the Individual Use CasesStep 5: Refine the Use Cases⏹Hierarchy of Use Cases levels1 Summaryto define a broad scope of the system2user goalSatisfies a particular and immediate goal of value to the primary actor.3 subfunctionsatisfies a partial goal of a user-goal use case or of another subfunction⏹Relationships between use cases⏹<<Include>> (for common sub-behavior)⏹<<Extend>> (a single event interrupts the main success scenario multiple times;or there is an important alternative to emphasize)⏹<<Generalization>> (to capture abstraction)⏹Main Requirements Artifacts⏹Vision Document defines high-level business requirements, user needsand features.⏹Use-case model.⏹Supplementary Specifications⏹Domain Modelis a representation of real-world conceptual classes参考:Domain model may be considered a visual可见的dictionary of the noteworthy 值得注意的abstractions, domain vocabulary 词汇and information content of the domain.⏹Domain Model and Class diagram⏹Differences⏹Relations⏹UML diagrams for the Analysis Model⏹Organizing RequirementsSkill4⏹Project ScopeProject Scope "The work that needs to be accomplished to deliver a product, service, or result with the specified features and functions." [1]Product Scope "The features and functions that characterize a product, service, orresult."What is project scope?⏹Requirements baseline (definition)需求基线,通俗点说就是把这些需求都划一根“线”,说明这些需求已经确定下来,添加新的需求和修改原有的需求都必须通过需求变更流程来操作。

相关主题