CS 732 Software Engineering

advertisement
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?
Download