software engineering is an engineering approach for software development. W e can alternatively view
it as a systematic collection of past experience. The experience is arranged in the form of methodologies
and guidelines. A small program can be written without using software engineering principles. But if one
wants to develop a large software product , than software engineering principles mare indispensable
to achieve a good quality software effectively. These definitions can elaborated with the help of a
building construction analogy.
A software process can be defined as a set of activities, method, practices, and transformation that
people use to develop and maintain software and the associated product (for example – project plans,
design documents, code, test cases, and user manuals).
The spiral model is a software development process combining elements of both design and
prototyping-in-stages, in an effort to combine advantage of top-down and bottom-up concepts. Also
known as the spiral lifecycle model, it is a system development method (SDM) used in information
technology.
The figure depicts a spiral modal that contains six task regions:
Requirement validation is similar to requirements analysis as both process review the gathered
requirements.
Its importance
To ensure that the actual requirements of the system are reflected in the srs
To certify that the SRS contains an acceptable description of the system to be implemented.
To check the requirement document for completeness, accuracy, consistency, requirement
conflict, conformance to standard and technical errors.
An entity type is any type of object that we wish to store data about. Which entity types you decide to
include on your diagram depends on your application. An entity type is considered to be a set of objects.
That is simply one member or example or element or instance of the type or set.
Attributes – attributes are data items that describe an entity. An attribute is a single value of an
attributes for an instance of an entity. For example, Name and hire data are attributes of the entity
EMPLOYEE.
Primary key – the primary key is an attribute or a set of attribute that uniquely identify a specific
instance of an entity.
Abstraction is the process of taking away or removing characteristics from something in order to reduce
it to a set of essential characteristics. In object oriented programming, abstraction is one of three central
principles. Through the process of abstraction a programmer hides all but the relevant data about an
object in order to reduce complexity and increase efficiency.
A review conducted to verify that the detailed design of one or more configuration items satisfy
specified requirements, to establish the compatibility among the configuration items and other items of
equipment, facilities, software , and personnel ,to assess the results of producibility analysis review
preliminary hardware product specification.
[9] Explain the software testing and its need.
Software Testing is evaluation of the software against requirements gathered from users and system
specifications. Testing is conducted at the phase level in software development life cycle or at module
level in program code. Software testing comprises of Validation and Verification.
Its need
Software testing is really required to point out the defect and errors that were made
during.
It’s essential since it makes sure of the Customer’s reliability and their satisfaction in the
application
Testing is required for an effective performance of software application or product.
It’s important to ensure that the application should not result in to any failures because
it can be very expensive in the future or in the later stages of the development.
It’s required to stay in the business.
White box testing is concerned only with testing the software product . Black box testing is concerned
only with testing the specification. White box testing cannot guarantee that the complete specification
has been implemented. Black box testing cannot guarantee that all parts of the implementation have
been tested. In order to completely test a software product both black or white box testing are required.
White box testing is much more expensive (in terms of resources and time ) than black box testing.
A walkthrough is normally organized and directed by the author of the technical document Any
combination of interested or technically qualified personnel (from within or out side the project)may be
included as seems appropriate.
Its benefits
1. Provide users with a ready-to-use, expressive visual modeling language so they can develop and
exchange meaningful models.
2. Provide extensibility and specialization mechanisms to extend the core concepts.
3. Be independent of particular programming language and development process.
4. Provide a formal basis for understanding the modeling language.
5. Encourage the growth of the OO tools market.
6. Integrate best practices.
Object oriented analysis and design is a software engineering approach that models a system as a group
of interacting objects. Each object represents some entity of interest in the system being modeled, and
is characterized by its class its state, and its behavior. Various models can be created to show the static
structure, dynamic behavior, and run time deployment of these collaborating object. There are number
of different notations for representing these models, such as the Unified Modeling Language.
1. PUBLIC – software engineering shall act consistently with the public interest.
2. CLIENT AND EMPLOYER - software engineering shall act a manner that is in the best interests
of their client and employer consistent with the public.
3. PRODUCT – Software engineering shall ensure that their product and related modification meet
the highest professional standards possible.
4. JUDGEMENT – Software engineering shall maintain integrity and independence in their
professional judgment.
5. MANAGEMENT – Software engineering managers and leaders shall subscribe to and promote
an ethical approach to the management of software development and maintenance.
6. PROFESSION – Software engineering shall advance the integrity and reputation of the
profession consistent with the public interest.
7. COLLEAGUES – Software engineering shall be fair to and supportive of their colleagues.
8. SELF - Software engineering shall participate in lifelong learning regarding the practice of their
profession and shall promote an ethical approach to the practice of the profession.
Cohesion is an indication of relative function strength of a module. A cohesive module perform a single
task , requiring little interaction with other component in other parts of program.
Coupling is an indication of the relative interdependence among modules, the point at which entry or
reference is made to module and what data passes across the interface.