CS 732 Software Engineering
Download
Report
Transcript CS 732 Software Engineering
CS 732
Software Engineering
Semester 1/2545
Dr.Choonhapong Thaiupathump
Grading
Midterm Exam.
Final Exam.
50%
30%
Sun Sept 29 8:00-11:00
Project & Presentation
10%
Team project (20%)
Individual research & presentation (10%)
Homework & Other Assignments
10%
Textbook
Pressman, Roger S. Software Engineering: A
Practitioner’s Approach. 5th Edition. McGrawHill Companies, Inc. New York, NY 10020,
2001.
Course Outline
Part One – The Product and Process
CHAPTER 1 The Product
CHAPTER 2 The Process
Part Two – Managing Software Project
CHAPTER 3 Project Management Concepts
CHAPTER 4 Software Process and Project
Metrics
CHAPTER 5 Software Project Planning
Course Outline (Cont’d)
Risk Analysis and Management
Project Scheduling and Tracking
Software Quality Assurance
Software Configuration
Management
Part Three – Conventional Methods for Software
Engineering
CHAPTER 10 System Engineering
CHAPTER 11 Analysis Concepts and Principles
CHAPTER 6
CHAPTER 7
CHAPTER 8
CHAPTER 9
Course Outline (Cont’d)
CHAPTER 12 Analysis Modeling
CHAPTER 13 Design Concepts and Principles
CHAPTER 14 Architectural Design
CHAPTER 15 User Interface Design
CHAPTER 16 Component-Level Design
CHAPTER 17 Software Testing Techniques
CHAPTER 18 Software Testing Strategies
CHAPTER 19 Technical Metrics for Software
Sample Topics for Individual
Research
Business Process Engineering
COCOMO and COCOMO II Model
Alternative Analysis Methods
DSSD (Data Structured Systems Development )
JSD (Jackson System Development)
SADT (Structured analysis and design technique)
Interface Design Guidelines
Sample Topics for Individual
Research (Cont’d)
ISO 9000 for Software
CASE Tools
Reviewing OOA and OOD Models
Component-based Software Engineering
Process Improvement and SEI Capability
Maturity Model (CMM)
PSP (Personal Software Process)
TSM (Team Software Process)
Sample Topics for Individual
Research (Cont’d)
Object-Oriented Testing
Assessing Quality of Web Applications
Model-Based (MBASE) Architecture & Software
Engineering
Object-oriented Software Development with
UML
Adaptable Process Model (APM)
Guidelines for Individual Research
Topic submission date on Thurs 13/6.
Final Report must contain a minimum of 3
references.
Presentation dates will be arranged after
midterm exam.
Guidelines for Team Project
2 members per team
Project Topic Submission Date on Thurs 13/6.
Project Proposal Submission Date on Tue 18/6.
Progress report required (will notify ahead of
time).
Final Report must be submitted prior to Final
Exam date.
Presentation date will be arranged after midterm
exam.
Chapter 1
Product
Software Engineering
The technology encompasses a process, a set of
methods, and an array of tools that we call
software engineering.
Roles of Software
A Product
The vehicle for delivering a product, such as
Control computer (OS)
Communication
Tools
Software delivers “information”
Questions from an Industry
Perspective
Why does it take so long to get software finished?
Why are development costs so high?
Why can’t we find all the errors before we give
the software to customers?
Why do we continue to have difficulty in
measuring progress as software being developed?
An Aging Software Plant
Software, produced over 20 years ago and
modified over 40 times, was barely maintainable.
No one could understand the internal structure
of old programs.
Embedded system (traffic, power plants,
factories) was unable to removed or replaced
despite malfunctions.
Software Competitiveness
Cost
Timeliness
Quality Why India?
What is Software?
Instructions (computer programs) that when
executed provide desired function and
performance.
Data structures that enable the programs to
adequately manipulate information, and
Documents that describe the operation and use
of programs.
Software Characteristics
1.
2.
3.
Software is developed or engineered, it is not
manufactured in the classical sense.
Software does not “wear out”.
Although the industry is moving toward
component-based assembly, most software
continues to be custom built.
Wear vs. Deterioration
Software Applications
Information content refers to the meaning and
form of incoming and outgoing information.
For example, use highly structured input data (a
database) and produce formatted reports.
Software Applications
System Software: a collection of programs
written to service other programs.
Compilers, editors, and file management utilities.
Operating system components, drivers,
telecommunications processors.
Software Applications
Real-Time Software: Software that
monitors/analyzes/control real world events as
they occur. Elements include:
Data gathering components
Analysis component
Control/output component
Monitoring component
Software Applications
Business Software:
Payroll
Accounts receivable/payable
Inventory
MIS
Facilitate business operations or management decision
making
Interactive client/server computing (point-of-sale
transaction processing
Software Applications
Engineering and Scientific Software:
CAD
System simulation
Interactive applications
Embedded Software:
Embedded software resided in ROM
Software Applications
Personal Computer Software
Web-based Software
AI Software:
Expert Systems
Knowledge-base Systems
Pattern recognition (image and voice)
Artificial neural networks
Software Myths
Management Myths
Customer Myths
Practitioner’s Myths
Software
In brief, software is composed of
Programs
Data
Documents
The intent of software engineering is to provide a
framework for building software with higher
quality.
The Cost of Change
Software Poses Challenges
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 upgrade an aging "software plant?"
How do we avoid disastrous time delays?
How do we successfully institute new software
technologies?