Download Software Engineering Introduction and Overview: CSE1320 Intermediate Programming and more Slides Software Engineering in PDF only on Docsity!
Overview RA402 jcmt CSE1320 Intermediate
Essence and Accident
Difficulties
- (^) Complexity
- (^) Conformity
- (^) Changeabilit y
- (^) Invisibility
- (^) Essence
- (^) difficulties inherent in the nature of software
- (^) Accidents
- (^) difficulties encountered but not inherent
Overview RA402 jcmt CSE1320 Intermediate
Software Engineering Processes
attempt to maximize QUALITY in the
form of:
- (^) Reliability
- (^) Portability
- (^) Efficiency
- (^) Human Engineering
- (^) Testability
- (^) Understandability
- (^) Modifiability
Overview RA402 jcmt CSE1320 Intermediate
What are the phases in
the lifecycle of a software product?
- (^) Requirements
- (^) Specifications
- (^) Design
- (^) Implementation
- (^) Integration
- (^) Maintenance
- (^) Retirement
Overview RA402 jcmt CSE1320 Intermediate
Requirements Phase
“What I need , not what I said I
needed”
problem require
in terms of the
solution?
- (^) Written document
- (^) Customer driven
testing
- (^) Rapid prototype
- (^) Mock-up
- (^) Partial system
Overview RA402 jcmt CSE1320 Intermediate
Design Phase
How does the product do what it is supposed to do?
- (^) Analysis of the problem
- (^) Structured analysis : decomposing problem by how data is manipulated (acted upon)
- (^) Object-oriented analysis: decomposing problem by how data is represented - (^) Developer must make design decisions about: - (^) algorithms - (^) data representations - (^) I/O interfaces - data flow - (^) modules - (^) Design testing - (^) traceability
Overview RA402 jcmt CSE1320 Intermediate
Implementation Phase
Initial CS courses have to focus on this element first
- (^) Code
- (^) Documentation
- (^) Tests
testing
- (^) desk checking
- (^) test cases
- (^) reviews
Overview RA402 jcmt CSE1320 Intermediate
Maintenance Phase
In the user’s hands
- (^) Maintenance testing
- (^) changes
- (^) regression testing
- (^) Retirement
- (^) Why?
- (^) operation
- (^) documentation
- (^) turnover
- (^) Kinds of maintenance
- (^) Corrective
- (^) Adaptive
- (^) Perfective
- (^) Preventive
Overview RA402 jcmt CSE1320 Intermediate
Specification principles
- (^) Separate functionality from implementation
- (^) A process-oriented systems spec language is required
- (^) A spec must encompass the system of which the SW is a component
- (^) A spec must encompass the environment in which the system operates
- (^) A system spec must be a cognitive model
- (^) A spec must be operational
- (^) The spec must be tolerant of incompleteness and augmentable
- (^) A spec must be localized and loosely coupled
Overview RA402 jcmt CSE1320 Intermediate
Analysis principles and issues
- (^) Analysis is information-driven
- (^) First provide a mechanism for representing info then derive function and behavior
- (^) Common characteristics
- mechanism for info domain analysis
- approach for functional and/or behavior representation
- definition of interfaces
- mechanisms for problem partitioning
- support of abstraction
- representation of essential and implementation views
Overview RA402 jcmt CSE1320 Intermediate
Testing
Testing cannot show the absence of defects, it can only show that software defects are present.
- Testing is a process of executing a program with the intent of finding an error.
- A good test case is one that has a high probability of finding an as yet undiscovered error.
- A successful test is one that uncovers an as yet undiscovered error.
Overview RA402 jcmt CSE1320 Intermediate
Development Testing
- (^) Debugging approaches
- brute force
- (^) backtracking
- (^) cause elimination
- (^) Before you fix
- Is the cause of this bug also reproduced elsewhere?
- What new bug might I be putting in?
- What would have prevented this bug?
Overview RA402 jcmt CSE1320 Intermediate
Software Configuration Management
Change is inevitable
- (^) Activities of SCM
- ID change
- control change
- ensure that change is properly implemented
- report change to others
- (^) SCM output
- (^) programs
- (^) documentation
- (^) data structures
SCM is not the same as maintenance
Overview RA402 jcmt CSE1320 Intermediate
Software Engineering Notes for
CSE1320 Intermediate Programming
- (^) Sources
- (^) The Mythical Man-Month, Brooks, Frederick P.; Addison-Wesley Publishing Company, (Reprint)
- “No Silver Bullet: Essence and Accidents of Software Engineering,”, Computer , Vol. 20, No. 4 (April 1987) pp. 10-
- (^) Software Engineering,Schach, Stephen R.;Aksen Associates Incorporated Publishers, 1990
- (^) Software Engineering, A Practitioner’s Approach,Pressman, Roger S.;McGraw-Hill, Inc. 1992
- Software Engineering, Design, Reliability,and Management,Shooman, Martin L.;McGraw-Hill, Inc. 1983
- (^) Software Engineering Metrics and Models, Conte, S.D., H.E. Dunsmore, V.Y. Shen;The Benjamin/Cummings Publishing Company, Inc., 1986