e78f9bca366260e5fad999ba05504d34.ppt
- Количество слайдов: 21
Fundamentals Of Software Engineering Lecture II Kal Bugrara, Ph. D Software Engineering Northeastern University
Agenda n n Introduce the software development life-cycle Understand business requirements Kal Bugrara, Ph. D Software Engineering Northeastern University
The Software Development Process Kal Bugrara, Ph. D Software Engineering Northeastern University
The SDLC objective ? A software solution that meets business need
The SDLC Challenge n n n Build the right software solution Build it right Build it economically Meeting these challenges is a balancing act. Kal Bugrara, Ph. D Software Engineering Northeastern University
Two kinds of qualities n Business quality: a software solution that meets business objectives • E. g. , The system helped the business realize an 70% reduction in customer complaints Kal Bugrara, Ph. D Software Engineering Northeastern University
Two kinds of qualities (contd. ) n System Quality: the system meets the need for • Speed and reduced response time • Scalability. E. g. can add thousands of new users at a reasonable cost. • Ease of change and evolution overtime Kal Bugrara, Ph. D Software Engineering Northeastern University
Must link system objectives to business objectives The Business Process The System Business Objectives System Objectives Business objective: Achieve customer satisfaction by empowering the customer to serve themselves System objective: Develop web-based customer self service with intuitive user interfaces, and fast response time. The system must support simultaneous access to hundreds of thousands of user. Kal Bugrara, Ph. D Software Engineering Northeastern University
The SDLC Phases Kal Bugrara, Ph. D Software Engineering Northeastern University
The steps Requirements Analysis Kal Bugrara, Ph. D Solution Definition Design and Build Software Engineering Testing Transition Northeastern University
The software development life-cycle PHASES MODULES AND OBJECTIVES Requirements Analysis Project Plan User and Requirements Initiation Analysis Work Pass Offs Solution Definition System Functional and Operational Performance Specifications Testing Design and Build System/User Procedures Development Technical System Design Technical Procedure Development Transition System Quality Assurance and Acceptance Testing System Introduction, Distribution, Media Conversion, and Operational Transition System Evaluation and Recommendation System Acquisition and Installation NOTE This is a generic, traditional development cycle applicable in many (if not all) fields. Kal Bugrara, Ph. D Months / Quarters / Years(? ) Software Engineering Northeastern University
The software development life-cycle REAL WORK Project Formulation Definition Analysis Design Specification Development and Implementation Operation Days / Weeks Kal Bugrara, Ph. D Software Engineering Northeastern University
Kal Bugrara, Ph. D Software Engineering Northeastern University
Business Requirements n n n What is the business need? What are the business issues underlying the need What is working? What is not working? What is the business’ vision for the new system? What benefits and qualities that will result? Who are the stakeholder of the system? What are their needs and preferences? • Users • Sponsors, etc. • All stakeholders are customers Kal Bugrara, Ph. D Software Engineering Northeastern University
Business Requirements (Contd. ) n What is our offer to these customers? • What are the features and benefits that will satisfy customers needs and preferences. n n n How are we going to deliver the offer? What is the business’ “glossary of terms”? How users are going to interface to the new system? How are they going to interact with the new system? What business tasks they perform? What are the data elements they need? What tools are needed to help facilitate their work. Kal Bugrara, Ph. D Software Engineering Northeastern University
Review of the IEEE standard for SDLC Kal Bugrara, Ph. D Software Engineering Northeastern University
PROCESS INPUTS Requirement and constrain conflicts Requirements Analysis Requirement trade-offs and impacts Requirements baseline Requirements verification Decomposition and requirement allocation alternatives Validated requirements baseline Functional Analysis Functional architecture Decomposition / allocation trade-offs and impacts Functional verification Design solution requirements and alternatives Verified functional architecture Requirements trade studies and assessments Functional trade studies and assessments Design Physical architecture Design solution trade-offs and impacts Design verification Design trade studies and assessments Verified physical architecture Control PROCESS OUTPUTS Systems engineering process (SEP) Kal Bugrara, Ph. D Software Engineering Northeastern University
Requirements Analysis Define customer expectations From: – Systems analysis – Control Define project and enterprise constraints Define external constraints Define operational scenarios Define measures of effectiveness Define system boundaries Define interfaces Define utilization environments To: Functional context analysis Define functional requirements Define performance requirements Define technical performance measures Define design characteristics Define modes of operations Define life cycle process concepts To: Systems analysis Define human factors Establish requirements baseline Operational view Functional view Design view Requirements analysis process To: Requirements validation Kal Bugrara, Ph. D Software Engineering Northeastern University
From: – Synthesis – Control Functional analysis Functional context analysis Allocate performance requirements Define functional interfaces Analyze functional behaviors From: Requirements validation Functional decomposition Define functional timelines Define subfunctions states and modes Define data and control flows Define functional failure modes and effects Define safety monitoring functions Establish functional architecture To: – Functional verification – Control Functional analysis process Kal Bugrara, Ph. D Software Engineering Northeastern University
From: Functional analysis To: – Functional verification – Design verification – Control Design Group and allocate functions Assess safety and environmental hazards Identify design solution alternatives Assess life cycle quality factors Define design and performance characteristics Identify standardization opportunities Develop models and fabricate prototypes Assess technology requirements To: Systems analysis Define physical interfaces Identify off-the-shelf availability Identify make or buy alternatives Assess testability needs Assess failure modes, effects, and criticality Assess design capacity to evolve Final Design Initiate evolutionary development Produce integrated data package Establish design architecture Kal Bugrara, Ph. D Synthesis process Software Engineering Northeastern University
System specification Product specification Operational procedures Component specification Subsystem specification Assembly specification Component specification Human/System Interface Specification Manpower; personal, and training specification Subsystem specification Assembly specification Component specification The specification tree Kal Bugrara, Ph. D Software Engineering Northeastern University
e78f9bca366260e5fad999ba05504d34.ppt