Sei sulla pagina 1di 5

SOLVING PROBLEMS

ANALYZING
SYNTHESIS putting together of a large structure
from a small building blocks.
METHOD OR TECHNIQUE formal procedure for
producing some results.
TOOL instrument or automated system for
accomplishing something in a better way.
PROCEDURE a combination of tools and technique.
PARADIGM represents a particular approach or
philosophy for building software.
TERMINOLOGY FOR DESCRIBING BUGS
FAULT occurs when a human makes a mistake
called an ERROR
SAFETY CRITICAL something whose failure possess
a treat to life or health
SOFTWARE QUALITY PERSPECTIVE
TRANSCEDENTAL quality is something we can
recognize.
USER VIEW quality is fitness for purpose.
MANUFACTURING VIEW quality is conformance to
specification.
PRODUCT VIEW tide to inherent product
characteristic.
VALUE-BASED VIEW depends on the amount the
customer is willing to pay for it.
3 WAYS TO CONSIDER QUALITY
QUALITY OF THE PRODUCT
QUALITY OF THE PROCESS
QUALITY IN THE CONTEXT OF BUSINESS ENVIRONMENT

WHO DOES SOFTWARE ENGINEERING?
CUSTOMER company, organization or person who is
paying for the software system to be developed.
USER person or people who will actually use the
system.
DEVELOPER company, organization or person who
is building the system software for the customer.
Subcontractors additional developer who build a sub-
system.
Turnkey System code is incorporated whole or may
require a separate integration process for building the
links from the major system.
ELEMENTS OF A SYSTEM
ACTIVITIES OR OBJECTS
RELATIONSHIP AND THE SYSTEM BOUNDARY
ACTIVITIES something that happens in a system.
OBJECT OR ENTITIES elements involved in the
activities.
RELATIONSHIP matching the entities with their
activities.
SOFTWARE DEVELOPMENT PROCESS
Requirements analysis and definition
System design
Program design
Writing the programs (program Implementation)
Unit testing
Integration testing
System testing
System delivery
Maintenance
DEVELOPMENT TEAM
ANALYST breaking down what the customer wants
into discrete requirements.
DESIGNER generates a system-level description
of what the system is to do.
PROGRAMMER write lines of codes that implement
what the requirements specify
TESTER used to help catch fault that the
programmers overlook.
TRAINER shows user how to use the system.
LIBRARIAN prepare and store documents that are
used during the life of the system including:
- Requirements specification
- Design description
- Program documentation
- Training manuals
- Test data and
- Schedules
Maintenance team fixes faults that are discovered
after the system has been accepted.
Configuration management team maintaining a
correspondence among the requirements, implementation,
design and the test.

7 KEY FACTORS THAT HAVE ALTERED SOFTWARE
ENGINEERING PRACTICE:
1. Criticality of Time-to-Market.
2. Shift in the economics of computing.
3. Availability of powerful desktop computing.
4. Extensive local-and wide-area networking.
5. Availability and adoption of object-oriented
technology.
6. Graphical user interface.
7. Unpredictability of waterfall model of
software development.

DISCIPLINE OF SOFTWARE ENGINEERING
Abstraction
Analysis and Design Methods and Notation
User Interface Prototyping
Software Architecture
Software Process
Reuse
Measurement
Tools and integrated Environment
ABSTRACTION a description of a problem at some level
of generalization that allow us to concentrate on the
key aspect of the problem without getting mired in the
details.
USER INTERFACE PROTOTYPING building a small version
of the system, usually with a limited functionality,
that can be used to
Help the user or customer to identify the key
requirements of the system
Demonstrate the feasibility of a design or
approach
PROTOTYPING often used to design a good user
interface.
USER INTERFACE part of the system which the user
interacts.
EMBEDDED SYSTEM system where the software functions
are not explicitly visible to the user.
SYSTEM ARCHITECTURE describes the system in terms of
a set of architectural units, and a map of how the
units relate to one another.
5 WAYS TO PARTITION A SYSTEM INTO UNITS
1. Modular decomposition
2. Data-oriented decomposition
3. Event-oriented decomposition
4. Outside-in design
5. Object-oriented design
Reuse taking advantage of the commonalities across
application by reusing items from previous development.
Measurement used to support analysis and decision
making.
Issues that must be address in any tool integration
1. Platform integration
2. Presentation integration
3. Process integration
4. Data integration
5. Control integration
ACRONYMS
IEEE - Institute of Electrical and Electronics
Engineer
COTS - Commercial Off-The-Shelf
CASE - Computer-Aided Software Engineering

USER INTERFACE PROTOTYPING building a small version
of the system, usually with a limited functionality,
that can be used to
Help the user or customer to identify the key
requirements of the system
Demonstrate the feasibility of a design or
approach
PROTOTYPING often used to design a good user
interface.
USER INTERFACE part of the system which the user
interacts.
EMBEDDED SYSTEM system where the software functions
are not explicitly visible to the user.
SYSTEM ARCHITECTURE describes the system in terms of
a set of architectural units, and a map of how the
units relate to one another.
5 WAYS TO PARTITION A SYSTEM INTO UNITS
6. Modular decomposition
7. Data-oriented decomposition
8. Event-oriented decomposition
9. Outside-in design
10. Object-oriented design
Reuse taking advantage of the commonalities across
application by reusing items from previous development.
Measurement used to support analysis and decision
making.
Issues that must be address in any tool integration
6. Platform integration
7. Presentation integration
8. Process integration
9. Data integration
10. Control integration
ACRONYMS
IEEE - Institute of Electrical and Electronics
Engineer
COTS - Commercial Off-The-Shelf
CASE - Computer-Aided Software Engineering

SOLVING PROBLEMS
ANALYZING
SYNTHESIS putting together of a large structure
from a small building blocks.
METHOD OR TECHNIQUE formal procedure for
producing some results.
TOOL instrument or automated system for
accomplishing something in a better way.
PROCEDURE a combination of tools and technique.
PARADIGM represents a particular approach or
philosophy for building software.
TERMINOLOGY FOR DESCRIBING BUGS
FAULT occurs when a human makes a mistake
called an ERROR
SAFETY CRITICAL something whose failure possess
a treat to life or health
SOFTWARE QUALITY PERSPECTIVE
TRANSCEDENTAL quality is something we can
recognize.
USER VIEW quality is fitness for purpose.
MANUFACTURING VIEW quality is conformance to
specification.
PRODUCT VIEW tide to inherent product
characteristic.
VALUE-BASED VIEW depends on the amount the
customer is willing to pay for it.
3 WAYS TO CONSIDER QUALITY
QUALITY OF THE PRODUCT
QUALITY OF THE PROCESS
QUALITY IN THE CONTEXT OF BUSINESS ENVIRONMENT

WHO DOES SOFTWARE ENGINEERING?
CUSTOMER company, organization or person who is
paying for the software system to be developed.
USER person or people who will actually use the
system.

DEVELOPER company, organization or person who
is building the system software for the customer.
Subcontractors additional developer who build a sub-
system.
Turnkey System code is incorporated whole or may
require a separate integration process for building the
links from the major system.
ELEMENTS OF A SYSTEM
ACTIVITIES OR OBJECTS
RELATIONSHIP AND THE SYSTEM BOUNDARY
ACTIVITIES something that happens in a system.
OBJECT OR ENTITIES elements involved in the
activities.
RELATIONSHIP matching the entities with their
activities.
SOFTWARE DEVELOPMENT PROCESS
Requirements analysis and definition
System design
Program design
Writing the programs (program Implementation)
Unit testing
Integration testing
System testing
System delivery
Maintenance
DEVELOPMENT TEAM
ANALYST breaking down what the customer wants
into discrete requirements.
DESIGNER generates a system-level description
of what the system is to do.
PROGRAMMER write lines of codes that implement
what the requirements specify
TESTER used to help catch fault that the
programmers overlook.
TRAINER shows user how to use the system.
LIBRARIAN prepare and store documents that are
used during the life of the system including:
- Requirements specification
- Design description
- Program documentation
- Training manuals
- Test data and
- Schedules
Maintenance team fixes faults that are discovered
after the system has been accepted.
Configuration management team maintaining a
correspondence among the requirements, implementation,
design and the test.

7 KEY FACTORS THAT HAVE ALTERED SOFTWARE
ENGINEERING PRACTICE:
8. Criticality of Time-to-Market.
9. Shift in the economics of computing.
10. Availability of powerful desktop computing.
11. Extensive local-and wide-area networking.
12. Availability and adoption of object-oriented
technology.
13. Graphical user interface.
14. Unpredictability of waterfall model of
software development.

DISCIPLINE OF SOFTWARE ENGINEERING
Abstraction
Analysis and Design Methods and Notation
User Interface Prototyping
Software Architecture
Software Process
Reuse
Measurement
Tools and integrated Environment
ABSTRACTION a description of a problem at some level
of generalization that allow us to concentrate on the
key aspect of the problem without getting mired in the
details.

Potrebbero piacerti anche