1 College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software...

21
1 College of Engineering and College of Engineering and Computer Science Computer Science Computer Science Department Computer Science Department CSC 131 CSC 131 Computer Software Engineering Computer Software Engineering Fall 2006 Fall 2006 Lecture # 2 Lecture # 2 Chapter 6 & 7 Chapter 6 & 7 System Engineering & System Engineering & Requirements Engineering Requirements Engineering

Transcript of 1 College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software...

11

College of Engineering and Computer ScienceCollege of Engineering and Computer ScienceComputer Science DepartmentComputer Science Department

CSC 131CSC 131Computer Software EngineeringComputer Software Engineering

Fall 2006 Fall 2006

Lecture # 2Lecture # 2Chapter 6 & 7Chapter 6 & 7

System Engineering & Requirements System Engineering & Requirements EngineeringEngineering

22

System EngineeringSystem Engineering Before SW can be engineered, the system Before SW can be engineered, the system

and its envoriment must be understood.and its envoriment must be understood. To accomplish this :To accomplish this :

– Overall objectives of the system must be Overall objectives of the system must be determineddetermined

– The role of HW, SW, people, procedures must be The role of HW, SW, people, procedures must be identified…identified…

– Operational requirements must be elicited, Operational requirements must be elicited, analyzed, specified, modeled, validated, and analyzed, specified, modeled, validated, and managed.managed.

33

System Engineering – Two ViewsSystem Engineering – Two Views

Business Process EngineeringBusiness Process Engineering– Focuses on utilizing IT effectivelyFocuses on utilizing IT effectively

Product EngineeringProduct Engineering– Focuses on converting the customer’s Focuses on converting the customer’s

needs into a working/functional productneeds into a working/functional product

44

System EngineeringSystem Engineering

Concentrate not only on the software but Concentrate not only on the software but rather on the system as a whole and its rather on the system as a whole and its elements…elements…

SE occurs as a result of a process called SE occurs as a result of a process called system engineering.system engineering.

55

System ModelingSystem Modeling

Model the systemModel the system

– Easier to asses the systemEasier to asses the system– Easier to evaluate system components in Easier to evaluate system components in

relationship to one anotherrelationship to one another

More on system modeling later….More on system modeling later….

66

System Context Diagram (SCD)System Context Diagram (SCD)

It establishes the information boundary It establishes the information boundary between the system being implemented between the system being implemented and environment in which the system and environment in which the system operate.operate.

It defines all external producers of It defines all external producers of information information

It defines all external consumers of It defines all external consumers of information information

77

Requirements EngineeringRequirements Engineering

The outcome of the system engineering The outcome of the system engineering process is the specification of computer-process is the specification of computer-based system at the different levels. based system at the different levels.

88

Requirements EngineeringRequirements Engineering

Requirements engineering process can be Requirements engineering process can be described in seven steps:described in seven steps:

– InceptionInception– Requirement Elicitation Requirement Elicitation – Requirement ElaborationRequirement Elaboration– Requirement Analysis & Negotiation Requirement Analysis & Negotiation – Requirement Specification Requirement Specification – Requirement Validation Requirement Validation – Requirement Management Requirement Management

99

Requirements?Requirements?

DefinitionDefinition

“A feature of the system or a description of something the system is capable of doing in order to fulfill the system’s purpose”

Types of Types of RequirementsRequirements– FunctionalFunctional– Non-functionalNon-functional

StrengthsStrengths– Must/ShallMust/Shall– ShouldShould– WillWill

1010

Requirements ElicitationRequirements Elicitation

Why requirement elicitation is difficult?Why requirement elicitation is difficult?

– Problem of scopeProblem of scope The boundary of the system is ill-definedThe boundary of the system is ill-defined

– Problem of understandingProblem of understanding Customers are not sure of what is neededCustomers are not sure of what is needed

– Problem of volatilityProblem of volatility Requirements change over time.Requirements change over time.

1111

Requirements ElicitationRequirements Elicitation

TechniquesTechniques– Interview / MeetingInterview / Meeting– Survey / QuestionnaireSurvey / Questionnaire– ObservationsObservations– Temporary AssignmentTemporary Assignment– Business PlansBusiness Plans– Review Internal / External DocumentsReview Internal / External Documents– Review Software Review Software

1212

ElaborationElaboration

The information obtained in the elicitation The information obtained in the elicitation step is expanded and refinedstep is expanded and refined

Develop a refined modelDevelop a refined model

1313

Requirements Analysis & NegotiationRequirements Analysis & Negotiation

Once requirements have been gathered Once requirements have been gathered then ..then ..

Categorize requirements Categorize requirements Organize requirements into related subsetsOrganize requirements into related subsets Establish requirements relationshipsEstablish requirements relationships Examine requirements consistencyExamine requirements consistency Rank requirements based on the need of Rank requirements based on the need of

customers.customers.

1414

Questions That Must Be Asked…Questions That Must Be Asked…

Is each requirement consistent with Is each requirement consistent with the objective?the objective?

Have all requirements been Have all requirements been specified?specified?

Is each requirement really Is each requirement really necessary?necessary?

Is each requirement clear?Is each requirement clear? Is each requirement testable?Is each requirement testable? …………..

1515

Requirements SpecificationRequirements Specification

System Specification is the final System Specification is the final product of system and requirements product of system and requirements engineering.engineering.

– It serves as the foundation for HW, SW It serves as the foundation for HW, SW engineeringengineering

– It describes the function and It describes the function and performance of a system/product and performance of a system/product and its constraintsits constraints

1616

Requirements Specification…Requirements Specification…

A specification can be:A specification can be:

– A written documentA written document

– A graphical modelA graphical model

– A formal mathematical modelA formal mathematical model

– A prototypeA prototype

– Any combination of the above …Any combination of the above …

1717

Requirements ValidationRequirements Validation

Why requirements validation?Why requirements validation?

To Ensure the following:To Ensure the following:

– All system requirements have been stated clearlyAll system requirements have been stated clearly– Inconsistencies, errors, omissions have been Inconsistencies, errors, omissions have been

detected and correcteddetected and corrected– Product conforms to the standardsProduct conforms to the standards

Mainly done by Formal Technical Review TeamMainly done by Formal Technical Review Team

1818

Requirements ManagementRequirements Management

It is a set of activities that support It is a set of activities that support the project team to:the project team to:

– Identify , control, and track Identify , control, and track requirements and changes to requirements and changes to requirements at any time.requirements at any time.

Why requirement management??Why requirement management??– Because requirements change…Because requirements change…

1919

Requirements Review?Requirements Review?– Are the requirements complete?Are the requirements complete?

– Are the requirements concise?Are the requirements concise?

– Are the requirements correct?Are the requirements correct?

– Are the requirements consistent?Are the requirements consistent?

– Are the requirements modular? Can they accommodate Are the requirements modular? Can they accommodate change?change?

– Are the requirements realistic?Are the requirements realistic?

– Are the requirements needed by the customer?Are the requirements needed by the customer?

– Are the requirements traceable?Are the requirements traceable?

2020

Questions ..?Questions ..?

2121

What is next?What is next?

Deliverable # 1 dueDeliverable # 1 due Assignment # 1Assignment # 1