Software Engineering Concepts

Mesin Pencari Google

Rabu, 18 Februari 2009

Introduction to Software Engineering

Introduction to Software Engineering
• Software engineering (1968)
- develop quality software on time and within budget
• Problems in SE (so ‘soft’)
- no concrete objectives, cannot predict resources, …
- cannot build using off-the-shelf components and integrating them under time and budget constraints.
- no panacea & no silver bullet
• Useful software systems are complex.
• Course objective is to discuss object-oriented techniques for conquering complex and changing software systems.

Failure Cases

1. Year 1990 bug : Mary, 104 years old – kindergarten
2. Leap-year bug : Supermarket was fined $1000 for 1 day long meat on Feb 29, 1988. 1988 is a leap year.
3. Interface misuse : on April 10 1990, London underground left the station without driver.
4. Security – Internet bugs and computer virus
5. Late and over budget : 1995, automated luggage system of airport. Airport opened 16 months late, $3.2 billion over-budget, with a mostly manual luggage system.
6. On-time delivery : 18 months development of health insurance company in 1984 costs $200 million. But no work correctly; $60 million in overpayments. The system works after 3 years late.
7. Unnecessary complexity: C-17 cargo plane. More $500m for software (19 onboard computers, 80 microprocessors, 6 Lang.)

What is software Engineering?
1. Software engineering is a modeling activity.
natural, social, and artificial systems. Object-oriented methods combine the problem and solution domain modeling activities into one. UML
2. Software engineering is a problem-solving activity.
• Formulate the problem, analyze the problem, search for solutions, decide on the appropriate solution, specify the solution.
• Software engineering is an engineering activity. It is not algorithmic. It requires experimentation, the reuse of pattern solutions, and the incremental evolution of the system toward a solution that is acceptable to the client.
• Software development typically includes activities: requirement elicitation, analysis, system design, implementation and testing.
3. Software engineering is a knowledge acquisition activity.
4. Software engineering is a rationale-driven activity.

Introduction to Software Engineering
• Software engineering (1968)
- develop quality software on time and within budget
• Problems in SE (so ‘soft’)
- no concrete objectives, cannot predict resources, …
- cannot build using off-the-shelf components and integrating them under time and budget constraints.
- no panacea & no silver bullet
• Useful software systems are complex.
• Course objective is to discuss object-oriented techniques for conquering complex and changing software systems.

Failure Cases

1. Year 1990 bug : Mary, 104 years old – kindergarten
2. Leap-year bug : Supermarket was fined $1000 for 1 day long meat on Feb 29, 1988. 1988 is a leap year.
3. Interface misuse : on April 10 1990, London underground left the station without driver.
4. Security – Internet bugs and computer virus
5. Late and over budget : 1995, automated luggage system of airport. Airport opened 16 months late, $3.2 billion over-budget, with a mostly manual luggage system.
6. On-time delivery : 18 months development of health insurance company in 1984 costs $200 million. But no work correctly; $60 million in overpayments. The system works after 3 years late.
7. Unnecessary complexity: C-17 cargo plane. More $500m for software (19 onboard computers, 80 microprocessors, 6 Lang.)

What is software Engineering?
1. Software engineering is a modeling activity.
natural, social, and artificial systems. Object-oriented methods combine the problem and solution domain modeling activities into one. UML
2. Software engineering is a problem-solving activity.
• Formulate the problem, analyze the problem, search for solutions, decide on the appropriate solution, specify the solution.
• Software engineering is an engineering activity. It is not algorithmic. It requires experimentation, the reuse of pattern solutions, and the incremental evolution of the system toward a solution that is acceptable to the client.
• Software development typically includes activities: requirement elicitation, analysis, system design, implementation and testing.
3. Software engineering is a knowledge acquisition activity.
4. Software engineering is a rationale-driven activity.




Software Engineering Concepts
1. Project, Activity, Tasks, Resource (participants, time,equipment), Workproduct (system, model, document)
2. Goals, Requirements and Constraints
3. Notations, Methods and Methodologies










Software Engineering Concepts
1. Project, Activity, Tasks, Resource (participants, time,equipment), Workproduct (system, model, document)
2. Goals, Requirements and Constraints
3. Notations, Methods and Methodologies