Software RequirementsIntroductionRequirementsPhases of RequirementsElicitationElicitation(cont)Slide 7ElicitationAnalysisAnalysis(cont)SpecificationSpecification(cont)Specification (cont)ValidationValidation(cont)ManagementManagement(cont)ConclusionMy own opinionSlide 20Software Software RequirementsRequirementsBy Jane Cleland-HuangBy Jane Cleland-HuangPresentation by Donovan Presentation by Donovan FaustinoFaustinoIntroductionIntroductionRequirements Engineering - process Requirements Engineering - process of eliciting, analyzing, validating, of eliciting, analyzing, validating, and managing requirements and managing requirements IEEE standards such as IEEE Std IEEE standards such as IEEE Std 830-1998 provide guidelines for 830-1998 provide guidelines for recommended practices recommended practicesRequirementsRequirementsDefining RequirementsDefining Requirements– – property of the system or a constraint placed property of the system or a constraint placed either upon the product itself or upon the either upon the product itself or upon the process by which the system is created. process by which the system is created. Formally IEE Std 610.12.1990 – 1) A condition Formally IEE Std 610.12.1990 – 1) A condition or capability needed by a user to solve a or capability needed by a user to solve a problem or achieve an objectiveproblem or achieve an objective 2) A condition or capability that must be met 2) A condition or capability that must be met or possessed by a system or system component or possessed by a system or system component to satisfy a contract, standard, specification, or to satisfy a contract, standard, specification, or other formally imposed documents. other formally imposed documents. 3) A documented representation of a condition 3) A documented representation of a condition or capability as in (1) or (2). or capability as in (1) or (2).Phases of RequirementsPhases of RequirementsElicitationElicitationAnalysisAnalysisSpecificationSpecificationManagementManagementValidationValidationElicitationElicitationproactively working with proactively working with stakeholders to discover their needs, stakeholders to discover their needs, identify and negotiate potential identify and negotiate potential conflicts, and establish a clear scope conflicts, and establish a clear scope and boundaries for the project and boundaries for the projectElicitation(cont)Elicitation(cont)Understanding the Problem and Its DomainUnderstanding the Problem and Its DomainMaking the business caseMaking the business caseocurrent trends have organizations are no longer willing to current trends have organizations are no longer willing to invest in IT projects unless those projects return clear invest in IT projects unless those projects return clear value to the businessvalue to the businessFrom a requirements perspective, these include a lack of From a requirements perspective, these include a lack of clear purpose for the product, insufficient stakeholder clear purpose for the product, insufficient stakeholder involvement, lack of agreement between stakeholders, involvement, lack of agreement between stakeholders, rapidly changing the requirements, goldplating(adding rapidly changing the requirements, goldplating(adding additional and unnecessary features), poor change additional and unnecessary features), poor change management, and lack of analysis of the requirements management, and lack of analysis of the requirementsElicitation(cont)Elicitation(cont)Elicitation techniquesElicitation techniquesCollaborative sessionsCollaborative sessionsInterviewing techniquesInterviewing techniquesQuestionairesQuestionairesEthnographyEthnographyProtypingProtypingDocumentationDocumentationModelingModelingRoleplayingRoleplayingChecklists of NFRsChecklists of NFRsElicitationElicitationConflict Identification and Conflict Identification and NegotiationNegotiationAnalysisAnalysisa deeper understanding of the product a deeper understanding of the product and its interactions, identify and its interactions, identify requirements, define high-level requirements, define high-level architectural design, allocating req to architectural design, allocating req to architectural components, and identify architectural components, and identify additional conflicts that merge additional conflicts that merge through considering architectural through considering architectural implementations and negotiating implementations and negotiating agreements between stakeholders agreements between stakeholdersAnalysis(cont)Analysis(cont)Conceptual ModelingConceptual ModelingML is very well known.ML is very well known.IEEE Std 1320.1, IDEF0 for functional IEEE Std 1320.1, IDEF0 for functional modeling and IEEE Std 1320.2 IDEF1 X97 for modeling and IEEE Std 1320.2 IDEF1 X97 for information modeling.information modeling.Architectural Design and Requirement Architectural Design and Requirement AllocationAllocationArchitectural quality is measured by its Architectural quality is measured by its ability to fulfill the stated requirements ability to fulfill the stated requirementsSpecificationSpecification-documents that capture the system documents that capture the system and software req. in order to support and software req. in order to support their systematic review, evaluation, their systematic review, evaluation, and approval. Document that and approval. Document that describes the system to be describes the system to be developed in a format that can be developed in a format that can be reviewed, evaluated and approved in reviewed, evaluated and approved in a systematic way.a systematic way.Specification(cont)Specification(cont)Qualities of an Individual Qualities of an Individual RequirementRequirementConciseConciseCorrectCorrectNonambiguousNonambiguousFeasibleFeasibleVerifiableVerifiableSpecification (cont)Specification (cont)Qualities of the Set of RequirementsQualities of the Set of RequirementsRealisticRealisticConciseConciseCompleteCompleteConsistentConsistentValidationValidationgoes through the other four goes through the other four activities. Ensure the system meets activities. Ensure the system meets stakeholders requirements through stakeholders requirements through activities such as formal and activities such as formal and informal reviews informal
View Full Document