Vous êtes sur la page 1sur 7

SOFTWARE ENGG

• Software Engineering is the technological and managerial discipline


concerned with systematic production and maintenance of software products
that are developed and modified on time and within cost estimates.

• Goals
• To increase the productivity and job satisfaction of software engineers
• To improve the quality of software products.

Software Engg, requires both technical skill and managerial control.

Intellectual distance:
The mapping between the model and the reality being modeled has been called the
intellectual distance between the problem and a computerized solution to the
problem.
SOFTWARE ENGG
• Software reliability is “the ability of a program to perform a required function
under stated conditions for a stated period of time”.

• Qualities of a software product:


• Usefulness,clarity,reliability,efficiency and cost – effectiveness.

• Planning the Development process:

• The phased Life-cycle model


• Cost model
• Prototype life – cycle model
SOFTWARE ENGG
• Project structure

• Project format
• Functional format
• Matrix format

• Programming team structures


• Democratic teams
• Chief programmer teams
• Hierarchial team structure
SOFTWARE ENGG
• Languages and processors for requirements specification:
• PSL/PSA
• RSL/REVS
• SADT
• SSA

• Coupling and Cohesion:


• To minimize the number and complexity of interconnections between
modules.

• Dos of good coding style:


• Use a few standard, agreed – upon control constructs
SOFTWARE ENGG
• Use gotos in a disciplined way
• Introduce user – defined data types to model entities in the problem domain
• Hide data structures behind access functions
• Isolate machine dependencies in a few routines
• Use indentation, parantheses, black spaces, blank lines, and borders around
comment blocks to enhance readability.

• Verification : “Are we building the product right?”


• Validation : “Are we building the right product?”

• Unit testing:
• Unit testing comprises the set of tests performed by an individual programmer
SOFTWARE ENGG
• Prior to integration of the unit into a larger system.

• System Testing
• Integration testing and acceptance testing:involves planning and execution of
functional tests, performance tests and stress tests to verify that the
implemented system satisfies its requirements.
• Acceptance testing involves planning and execution of various types of tests in
order to demonstrate that the implemented software system satisfies the
requirements stated in the requirements document.
• Why Prototype?
• Illustrate data formats, messages, reports, and interactive dialogues for the
customer.m
SOFTWARE ENGG
• Explore technical issues in the proposed product.
• Developing a prototype is in situations where the phased model is
inappropriate.

• Phased Model is applicable when it is possible to write a reasonably complete


set of specifications for a software product at the beginning of the life cycle.

• The goals of verification and validation activities are to assess and improve the
quality of the work products generated during development and modification
of software.

Vous aimerez peut-être aussi