Introduction to software engineering
-
Upload
zhellaanne -
Category
Technology
-
view
6.603 -
download
1
Transcript of Introduction to software engineering
SOFTWAREENGINEERING
If you don't understand it, you can't program it.If you didn't measure it, you didn't do it.
Zhella Anne V. Nisperos
+Computer Programs
Documentation
Software isintangiblecomplexflexible
Software types
GenericCustomized
Software types
Software types
Stand- AloneInteractive transaction-based
Applicationtypes
Embedded Control Systems
Software types
Entertainment Systems
Applicationtypes
Systems for modeling and simulation
Batch Processing Systems
Software types
System of systems
Applicationtypes
Data Collection Systems
Software types
Real –time software
Software Areas(Roger Pressman)
System Software
Business software
Software typesSoftware Areas(Roger Pressman)
Engineering & Scientific Software
Personal Computer software
Embedded software
Software typesSoftware Areas(Roger Pressman)
Artificial Intelligence software
Web-based software
Software types
MaintainabilityDependability & Security
Essential Attributes of Good Software
EfficiencyAcceptability
Software types
UsabilityReliability
Essential Attributes of Good Software
Reusability
What is the Role of Software ?
The role of software engineering is to capture the customer’s business needs and specify the “blueprints” for the system so that programmers can implement it
Software Engineering
“Software Engineering is the application of a systematic, disciplined, quantifiable
approach to the development, operation, and maintenance of software.”
- IEEE’90
“Software Engineering is an act of applying a collection of techniques, methodologies
and tools that help with the production of a high quality software system,
…with a given budget, before a given deadline,
while change occurs.”
Techniques (Methods)
Methodologies
Tools
Formal procedures for producing results using some well-defined notation
Collection of techniques applied across software development and unified by a philosophical approach
Instrument or automated systems to accomplish a technique
Software Engineering:
A Multi-Disciplinary Discipline
A blend of many older science &
engineering disciplinesand new ones
Software Engineering Body of Knowledge
Computing Fundamentals
Algorithms and Data Structures
Computer Architecture
Operating Systems
Programming Languages
Mathematical Foundations
Software Product Engineering
Requirements Engineering
Software Design
Software Coding
Software Testing
Software Operations & Maintenance
Software Management
Project Process Management
Risk Management
Quality Management
Configuration Management
Dev. Process Management
Acquisition Management
Software Domains
Artificial Intelligence
Database Systems
Human-Computer Interaction
Numerical & Symbolic Comp
Computer Simulations
Real-Time Systems
Why is Software Engineering Difficult?
Because you need to know about…
11
software domain and
problem domain
Real World is informal
22
Software is formalthere is a precise statement of what needs to be programmed
Software Engineering deals only with the software itself
there is NO precise statement of what needs to be programmedSoftware Engineering includes discovering a solution for a real-world problem
Software Engineers
Software Engineer
Programmer
creates the design
creates the code
Software Engineer
Computer Scientist
Works in multiple application domains
Proves theorems about algorithms, designs languages, defines knowledge representation schemes
Has infinite time…
Has only 3 months...
Daily Software
Engineering Jobs/ Roles
Systems Analyst
Software Architect
Software Network Specialist
Software Programmer
Software Systems Administrator
Software Database Administrator
1
2
3
4
5
6
Webmaster
Software Security Engineer
Software Tester
Software Project Manager
Software Configuration Manager
Software Quality Manager
7
8
910
11
12
How MUCHare Software Engineers
Paid?
Software Engineering Skills
Communication“There are only 10 types of people in this world.
Those who know binary, and those who don’t.”
Feedback
Motivation
Analytical
Project Management Skills
Planning
Risk Assessment
Estimation
Activity 1:
List down the qualifications of a Software Engineer
Software Engineering Ethics
ConfidentialityCompetenceIntellectual Property Rights
Computer Misuse
Online Activity 2:
*Post links on news related to the stated issues of professional responsibility
*Read about Software Engineering Ethics and post link on news/issues related to one of the SE ethical principles
Software Development
Software Development is phased
RequirementsDesign
Construction
Testing
Operation & Maintenance
Types of Software Development
Methodologies
SSADMOOSDExtreme Programming DSDMNCC Method
AUPIntegrated MethodologyRUPSCRUMRAD
Waterfall ModelConcurrent Dev’t ModelPrototyping ModelIncremental ModelSpiral Model
REVIEW
Thank you!