DOC PREVIEW
DREXEL CS 451 - Software Engineering

This preview shows page 1-2-3 out of 8 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 8 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 8 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 8 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 8 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 1Software Engineering • Software Engineering is the science and art ofbuilding significant software systems that are:1) on time2) on budget3) with acceptable performance4) with correct operation. ©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 2z The economies of all developed nations are dependent on software.z More and more systems are software controlled.z Software engineering is concerned with theories, methods and tools for professional software development.z Software engineering expenditure represents a significant fraction of the GNP of developed countries.Software Engineering©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 3z Software costs often dominate system costs. The costs of software on a PC are often greater than the hardware cost.z Software costs more to maintain than it does to develop.z Software engineering is concerned with cost-effective software development.Software Costs©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 4Software Productsz Generic products:– Stand-alone systems which are produced by a development organization and sold on the open market to any customer.z Customized products:– Systems which are commissioned by a specific customer and developed specially by some contractor.©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 5Software Product Attributesz Maintainabilityz Dependabilityz Efficiencyz Usability©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 6Importance of Product Characteristicsz The relative importance of these characteristics depends on the product and the environment in which it is to be used.z In some cases, some attributes may dominate– In safety-critical real-time systems, key attributes may be dependability and efficiency.z Costs tend to rise exponentially if very high levels of any one attribute are required.©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 7Efficiency CostsCostEfficiency©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 8The Software Processz Structured set of activities required to develop a software system– Specification– Design– Validation– Evolutionz Activities vary depending on the organization and the type of system being developed.z Must be explicitly modeled if it is to be managed.©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 9Engineering Process Modelz Specification: Set out the requirements and constraints on the system.z Design: Produce a model of the system.z Manufacture: Build the system.z Test: Check the system meets the required specifications.z Install: Deliver the system to the customer and ensure it is operational.z Maintain: Repair faults in the system as they are discovered.©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 10Software Engineering is Different z Normally, specifications are incomplete.z Very blurred distinction between specification, design and manufacture.z No physical realization of the system for testing.z Software does not wear out - maintenance does not mean component replacement.©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 11Generic Software Process Modelsz Waterfall– Separate and distinct phases of specification and developmentz Evolutionary– Specification and development are interleavedz Formal Transformation– A mathematical system model is formally transformed to an implementationz Reuse-based– The system is assembled from existing components©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 12Waterfall Process ModelRequirementsdefinitionSystem andsoftware designImplementationand unit testingIntegration andsystem testingOperation andmaintenance©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 13Evolutionary Process ModelValidationFinalversionDevelopmentIntermediateversionsSpecificationInitialversionOutlinedescriptionConcurrentactivities©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 14Process Model Problemsz Waterfall– High risk for new systems because of specification and design problems.– Low risk for well-understood developments using familiar technology.z Prototyping– Low risk for new applications because specification and program stay in step.– High risk because of lack of process visibility.z Transformational– High risk because of need for advanced technology and staff skills.©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 15Hybrid Process Modelsz Large systems are usually made up of several sub-systems.z The same process model need not be used for all subsystems.z Prototyping for high-risk specifications.z Waterfall model for well-understood developments.©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 16Spiral Process ModelRiskanalysisRiskanalysisRiskanalysisRiskanalysisProto-type 1Prototype 2Prototype 3Opera-tionalprotoypeConcept ofOperationSimulations, models, benchmarksS/WrequirementsRequirementvalidationDesignV&VProductdesignDetaileddesignCodeUnit testIntegrationtestAcceptancetestServiceDevelop, verifynext-level productEvaluate alternativesidentify, resolve risksDetermine objectivesalternatives andconstraintsPlan next phaseIntegrationand


View Full Document

DREXEL CS 451 - Software Engineering

Download Software Engineering
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Software Engineering and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Software Engineering 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?