0% found this document useful (0 votes)
5 views

Introduction_to_Software_Engineering

Software engineering focuses on the theories, methods, and tools for professional software development, which is crucial for economies and often incurs high costs. It encompasses activities such as specification, development, validation, and evolution, while emphasizing attributes like maintainability, dependability, efficiency, and acceptability. Ethical responsibilities are highlighted through the ACM/IEEE Code of Ethics, and various case studies illustrate practical applications of software engineering principles.

Uploaded by

dha.abdulaziz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

Introduction_to_Software_Engineering

Software engineering focuses on the theories, methods, and tools for professional software development, which is crucial for economies and often incurs high costs. It encompasses activities such as specification, development, validation, and evolution, while emphasizing attributes like maintainability, dependability, efficiency, and acceptability. Ethical responsibilities are highlighted through the ACM/IEEE Code of Ethics, and various case studies illustrate practical applications of software engineering principles.

Uploaded by

dha.abdulaziz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Introduction to Software Engineering

Definition
Software engineering is concerned with theories, methods, and tools for professional software
development.

Importance
- Economies of developed nations depend on software.
- Software costs often dominate system costs, with maintenance costs exceeding development
costs for long-life systems.

Software Products
- Generic products: Stand-alone systems marketed to any customer (e.g., PC software).
- Customized products: Commissioned by specific customers to meet their needs (e.g., air traffic
control software).

Software Engineering Activities


- Specification: Defining what the software should do.
- Development: Designing and programming the software.
- Validation: Ensuring the software meets customer requirements.
- Evolution: Modifying the software to reflect changing needs.

Essential Attributes of Good Software


- Maintainability: Software should evolve to meet changing needs.
- Dependability and Security: Software should be reliable, secure, and safe.
- Efficiency: Software should use system resources effectively.
- Acceptability: Software should be understandable, usable, and compatible with other systems.

Software Engineering Ethics


- Confidentiality: Respecting employer/client confidentiality.
- Competence: Not misrepresenting one's skills or accepting work beyond one's competence.
- Intellectual Property Rights: Protecting the intellectual property of employers and clients.
- Computer Misuse: Not using technical skills to misuse computers.

ACM/IEEE Code of Ethics


1. PUBLIC - Act in the public interest.
2. CLIENT AND EMPLOYER - Work in the best interests of clients and employers.
3. PRODUCT - Ensure high professional standards.
4. JUDGMENT - Maintain integrity and independence.
5. MANAGEMENT - Promote ethical management of software development.
6. PROFESSION - Advance the profession's integrity and reputation.
7. COLLEAGUES - Be fair and supportive to colleagues.
8. SELF - Engage in lifelong learning and promote ethical practice.

Case Studies
1. Insulin Pump Control System: An embedded system that calculates and delivers insulin doses
based on blood sugar levels.
2. Mental Health Care Patient Management System (MHC-PMS): A system for managing patient
records in mental health care.
3. Wilderness Weather Station: A data collection system for monitoring weather conditions in remote
areas.

Key Points
- Software engineering involves all aspects of software production, from specification to
maintenance.
- Good software should be maintainable, dependable, efficient, and acceptable.
- Software engineers have ethical responsibilities and must follow professional codes of conduct.
- Different types of software systems require different engineering techniques and tools.

You might also like