DOC PREVIEW
MSU CSE 870 - 01-SE-Intro

This preview shows page 1-2-3-24-25-26 out of 26 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 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 26 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 26 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 26 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 26 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 26 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Advanced Software Engineering Dr. ChengWhat is Software Engineering?Slide 3Questions addressed by Software EngineeringWhy apply Software Engineering to Systems?Objectives of CourseTentative TopicsAdministrative WorkSoftware Engineering PhasesDefinitionDefinition (cont.)DevelopmentDevelopment (cont.)MaintenanceUmbrella ActivitiesDevelopment ProcessWaterfall Process ModelPrototyping Process ModelWhen to use prototyping?Spiral Process ModelProcess ModelsCapability Maturity ModelWhy is software development so difficult?Why is software development difficult? (cont.)SummaryBottom LineCSE870: Advanced Software Engineering (Cheng, Sp2003): Intro to Software Engineering 1RRRAdvanced Software EngineeringDr. ChengOverview of Software Engineering and Development ProcessesCSE870(Spring 2003)CSE870: Advanced Software Engineering (Cheng, Sp2003): Intro to Software Engineering 2RRRWhat is Software Engineering?Systematic approach for developing software Methods and techniques to develop and maintain quality software to solve problems. (Software Engineering: Methods and Management, Pfleeger, 1990) Study of the principles and methodologies for developing and maintaining software systems. (``Perspectives on Software Engineering,'' Zelkowitz, 1978)CSE870: Advanced Software Engineering (Cheng, Sp2003): Intro to Software Engineering 3RRRWhat is Software Engineering?Practical application of scientific knowledge in the design and construction of computer programs and the associated documentation required to develop, operate, and maintain them. (``Software Engineering,'' Boehm, 1976) Deals with establishment of sound engineering principles and methods in order to economically obtain software that is reliable and works on real machines. (``Software Engineering,'' Bauer, 1972)CSE870: Advanced Software Engineering (Cheng, Sp2003): Intro to Software Engineering 4RRRQuestions addressed by Software Engineering•How do we ensure the quality of the software that we produce?•How do we meet growing demand and still maintain budget control?•How do we avoid disastrous time delays?CSE870: Advanced Software Engineering (Cheng, Sp2003): Intro to Software Engineering 5RRRWhy apply Software Engineering to Systems?Provide an understandable process for system development.  Develop systems and software that are maintainable and easily changed. Develop robust software and system. Allow the process of creating computing-based systems to be repeatable and manageable.CSE870: Advanced Software Engineering (Cheng, Sp2003): Intro to Software Engineering 6RRRObjectives of Course•Provide exposure to leading-edge topics–Emphasize object-orientation–Emphasize reuse•Provide hands-on experience to reinforce concepts–Homework assignments–Programming assignments•Synthesize several topics into a mini-project–Programming Project–Written ComponentCSE870: Advanced Software Engineering (Cheng, Sp2003): Intro to Software Engineering 7RRRTentative Topics•Unified Modeling Language (UML)•Security•Design Patterns•Object-Oriented Frameworks•Aspect-Oriented ProgrammingCSE870: Advanced Software Engineering (Cheng, Sp2003): Intro to Software Engineering 8RRRAdministrative Work•Background Survey•Initial Assessment•Tentative Evaluation Mechanisms:Exams (2) 40 %Homework/Design Exercises40 %Mini-Project(s) 20 %CSE870: Advanced Software Engineering (Cheng, Sp2003): Intro to Software Engineering 9RRRSoftware Engineering Phases•Definition: What?•Development: How?•Maintenance: Managing change•Umbrella Activities: Throughout lifecycleCSE870: Advanced Software Engineering (Cheng, Sp2003): Intro to Software Engineering 10RRRDefinition•Requirements definition and analysis–Developer must understand•Application domain•Required functionality•Required performance•User interfaceCSE870: Advanced Software Engineering (Cheng, Sp2003): Intro to Software Engineering 11RRRDefinition (cont.)•Project planning–Allocate resources–Estimate costs –Define work tasks–Define schedule•System analysis–Allocate system resources to•Hardware•Software•UsersCSE870: Advanced Software Engineering (Cheng, Sp2003): Intro to Software Engineering 12RRRDevelopment•Software design–User interface design–High-level design•Define modular components•Define major data structures–Detailed design•Define algorithms and procedural detailCSE870: Advanced Software Engineering (Cheng, Sp2003): Intro to Software Engineering 13RRRDevelopment (cont.)•Coding–Develop code for each module–Unit testing•Integration–Combine modules–System testingCSE870: Advanced Software Engineering (Cheng, Sp2003): Intro to Software Engineering 14RRRMaintenance•Correction - Fix software defects•Adaptation - Accommodate changes–New hardware–New company policies•Enhancement - Add functionality•Prevention - make more maintainableCSE870: Advanced Software Engineering (Cheng, Sp2003): Intro to Software Engineering 15RRRUmbrella Activities•Reviews - assure quality•Documentation - improve maintainability •Version control - track changes•Configuration management - integrity of collection of componentsCSE870: Advanced Software Engineering (Cheng, Sp2003): Intro to Software Engineering 16RRRDevelopment Process•Step-by-step procedure to develop software•Typically involves the major phases:–analysis–design–coding–testingCSE870: Advanced Software Engineering (Cheng, Sp2003): Intro to Software Engineering 17RRRWaterfall Process ModelRequirementsDesignMaintenanceCodingTestingCSE870: Advanced Software Engineering (Cheng, Sp2003): Intro to Software Engineering 18RRRPrototyping Process ModelRequirementsQuick DesignPrototypeEvaluateDesignCSE870: Advanced Software Engineering (Cheng, Sp2003): Intro to Software Engineering 19RRRWhen to use prototyping?•Help the customer pin down the requirements–Concrete model to “test out”–Often done via the user interface•Explore alternative solutions to a troublesome component–e.g., determine if an approach gives acceptable performance•Improve morale–Partially running system provides visibility into a projectCSE870: Advanced Software Engineering (Cheng, Sp2003): Intro to Software Engineering 20RRRSpiral Process ModelPlanning Risk AnalysisEngineeringCustomerEvaluationCSE870: Advanced Software Engineering (Cheng, Sp2003): Intro to Software Engineering 21RRRProcess Models•Idealized views of the process•Different models are often


View Full Document

MSU CSE 870 - 01-SE-Intro

Documents in this Course
HW2

HW2

3 pages

splc1

splc1

21 pages

Lessons

Lessons

3 pages

revision

revision

13 pages

ft1

ft1

12 pages

john.dsn

john.dsn

21 pages

Survey

Survey

2 pages

revision

revision

38 pages

Load more
Download 01-SE-Intro
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 01-SE-Intro 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 01-SE-Intro 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?