Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.

Slides:



Advertisements
Similar presentations
Mahmut Ali GÖKÇEIndustrial Systems Engineering Lecture 2 System Identification ISE102 Spring 2007.
Advertisements

Software Quality Assurance Plan
Lecture # 2 : Process Models
Software Process Models
CEN nd Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Software Process Models.
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
IS2210: Systems Analysis and Systems Design and Change
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
Using UML, Patterns, and Java Object-Oriented Software Engineering 15. Software Life Cycle.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Chapter 2 The Software Process
7M701 1 Software Prototyping Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 8
ITIL: Service Transition
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex.
Software Configuration Management
Software Quality Metrics
© Prentice Hall CHAPTER 9 Application Development by Information Systems Professionals.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
A GOAL-BASED FRAMEWORK FOR SOFTWARE MEASUREMENT
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
Fundamentals of Information Systems, Second Edition
1 CSC-3324: Chapter 4 Title: What is a requirement? Mandatory reading: Sommerville 6, 7 th ed., Chap.: 7.
Principles of Information Systems, Sixth Edition 1 Systems Investigation and Analysis Chapter 12.
MSIS 110: Introduction to Computers; Instructor: S. Mathiyalakan1 Systems Investigation and Analysis Chapter 12.
Software Process and Product Metrics
Software Life Cycle Model
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 1.1.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Chapter 2 The process Process, Methods, and Tools
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
What is a life cycle model?
Software Project Failure Software Project Failure Night Two, Part One CSCI 521 Software Project Management.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
What is a life cycle model? Framework under which a software product is going to be developed. – Defines the phases that the product under development.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
Lecture 1 Introduction to Software Engineering
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Lecture 3 Software Engineering Models (Cont.)
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 2 The Software Process Discussion of the Software Process: Process Framework,
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
소프트웨어공학 강좌 1 Chap 7. Software Prototyping - Rapid software development to validate requirements -
Software Engineering Spring (C) Vasudeva VarmaClass of 32 CS3600: Software Engineering: Process and Product* *Most of the Content drawn.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
REQUIREMENTS - WHY WHAT AND HOW? Steve Chenoweth & Chandan Rupakheti CSSE 371 Chapters Requirements Text. Question 6.
Principles of Information Systems, Sixth Edition Systems Investigation and Analysis Chapter 12.
Systems Analysis and Design in a Changing World, Fourth Edition
Software Development Life Cycle by A.Surasit Samaisut Copyrights : All Rights Reserved.
Fundamentals of Information Systems, Second Edition 1 Systems Development.
Software Prototyping Rapid software development to validate requirements.
1 - 1 Systems Analysis and Design, Key Ideas Many failed systems were abandoned because analysts tried to build wonderful systems without understanding.
Definitions of GIS Works with geographic information Performs data input, management, manipulation/analysis, and output functions Composed of hardware,
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
C_ITIP211 LECTURER: E.DONDO. Unit 1 : The Systems Development Environment.
Advanced Software Engineering Dr. Cheng
ITIL: Service Transition
Software Life Cycle “What happens in the ‘life’ of software”
IEEE Std 1074: Standard for Software Lifecycle
Software life cycle models
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
CIS 375 Bruce R. Maxim UM-Dearborn
Presentation transcript:

Cmpe 589 Spring 2006 Lecture 2

Software Engineering Definition –A strategy for producing high quality software.

Software Engineering Definition Of High Quality Software: –It must be useful (to the original customer). –It must be portable (work at all of the customer’s sites). –It must be maintainable. –It must be reliable. –It must have integrity (produces correct results, with a high degree of accuracy). –It must be efficient. –It must have consistency of function (it does what the user would, reasonably expect it to do). –It must be accessible (to the user). –It must have good human engineering (easy to learn and easy to use).

Software Development Models Systems Approach: {Definition of a system: (a collection of things) –A set of entities. –A set of activities. –Descriptions of entity relationships. –System boundaries.} –Distinguish between activities (processes, methods) and objects (data). –Determine the relationships between the objects.

Software Development Models Advantages Of Bounded Systems: –Makes problem identification easier. (It is often useful to think of a system as a sub-system, for the purpose of extension).

Software Development Models Software Engineering Approach: –The art of producing systems involves the craft of programming. –Fabricating software using "off the shelf" components. Why Doesn’t This Work Well: –Customers are not capable of describing their needs completely or precisely. –Customers change the specifications.

Software Lifecycle Models Phases: –Requirements, analysis, and design phase. –System design phase. –Program design phase. –Program implementation phase. –Unit testing phase. –Integration testing phase. –System testing phase. –System delivery phase. –System delivery. –Maintenance.

Software Lifecycle Models Waterfall Model: –Errors require at least one step back in the cycle. –Change » Failure.

Software Lifecycle Models Rapid Prototyping Model: –Start with user interface (probably most important to customer). –When customer is happy with that, then work on the behind the scenes stuff. –Customer is involved throughout the entire process.

Software Lifecycle Models Spiral Model: –Prototyping is used to reduce risk.

Software Lifecycle Models Fourth Generation Techniques: (Usually a tool that generates the code, through the use of a graphical interface). –Non-procedural data-base query languages. –Some type of report generator. –Often capable of high-level graphics. –Spreadsheets.

Capability Maturity Model: (A Strategy For Improving The Software Process). Maturity Models: Level One; Initial Process: –Ad-hoc approach to software design. –Inputs are ill defined. –Outputs are expected (transitions not defined or controllable).

Capability Maturity Model: Level Two; Repeatable Process: –Requirements are input. –Code output. –Constraints - budget & time. –Metrics - project related: Software size. Personnel effort. Requirement validity. Employee turnover.

Capability Maturity Model: Level Three; Defined Process: –The activities of the process have clearly defined entry & exit conditions. –Intermediate products - well defined and easily visible. –Metrics: Requirements complexity. Code complexity. Failures discovered. Code defects discovered. Product defect density. Pages of documentation.

Capability Maturity Model: Level Four; Managed Process: –Information from early process activities can be used to schedule later process activities. –Metrics: Defined and analyzed to suit the development organization. Data: Process type. Producer reuse. Consumer reuse. Defect identification mechanism. Defect density - model for testing. Configuration management scheme. Module completion; rates over time.

Capability Maturity Model: Level Five; Optimizing Processes: –Measures from activities are used to improve processes.

Capability Maturity Model: How Are Metrics Used? –Assess the process level. –Determine metrics to use. –Recommend metrics, tools, techniques. –Estimate project costs and schedule. –Collect metrics at the appropriate level. –Construct a project database. –Evaluate cost and schedule. –Evaluate productivity and quality. –Form a basis for future estimates.

Capability Maturity Model: Benefits Of Process Maturity And Metrics: –Enhanced understanding of the process. –Increased control over the process. –Clear migration path to a more mature process. –More accurate estimates of cost and scheduling of staff. –More objective evaluation of changes needed (techniques, tools, methods, ect.). –More accurate estimation of changes on project cost and schedule.