03-11-2016, 10:44 AM
1463755761-SOFTWAREENGINEERING.pdf (Size: 373.95 KB / Downloads: 9)
Name of modules:-
1) Fundamental of S.E.
2) System analysis
3) System planning
4) System design
5) System documentation
6) Coding and programming
7) Software testing
8) Cost and time estimation
9) Software project management
10) Software quality
11) CASE.
Top level
Middle level
Low level
Set of instruction-> this is program.
Set of program-> software.
This software is a collection of computer programs, procedure, rules
and associative documentation and data. Program is generally used
the developer of a specific program to make a particular software.
Q) Some characteristics of software
includes:-
1) Software is developed or engineer.
2) Most of software is custom build rather than assemble from
existing component.
3) Computer program and associated documentation.
4) Easy to modified.
5) Easy to reproduce.
6) Software product may be developed for a particular customer or
for the general market.
Definition of software: - it is systematic approach to the
development, operation, maintenance and retirement of software. It is
the application of computer science along with mathematics and
ergative science. In the current scenario the S.E has a specific
importance for making particular software.
Why software engineering:-
1) In the late 1960’s hardware price were falling but software price
rising.
2) Many software projects failed.
3) Large software project required large development loams.
4) Many software project late and over budget.
5) Complicity of software project is increased.
6) Demand for new software on the market.
Why study software engineering?
1) Higher productivity.
2) To acquire skills to develop large programs.
3) Ability to solve complex programming problems.
4) Learn techniques of specification design.
5) Better quality programmers.
Application of software:-
1) System software.
2) Application software.
3) Engineering/scientific software.
4) Embedded software.
5) Product line software.
6) Web application software.
7) Artificial intelligence software (AI).
1) The concept analysis in the view of S.E.
2) System development life cycle (SDLC).
3) Software requirement specification (SRS).
4) Object- data base and flow base analysis.
5) Models- spiral, water fall model.
1) The concept analysis in the view of S.E:- in the S.E
the analysis phase helps to determine from the starting of the
project to the end of the project. It has some specific phase. We
can make particular software for real time use. The term analysis
define the corresponding phase or stage by which the software
developer can make a successful software. In the S.E the analyst
has some specific job which is involved for making software. In a
overview we can say that the software analysis is a main term
through we can developed, operate and maintain a particular
software. In the view of software developer as well as the user.
The software analysis we can determine by the view of two
Side.
a) For the software developer.
b) For the customer (client).
System development life cycle (SDLC):- SDLC is an
approach for making software for the developer, user and
customer. SDLC focus on the internal phase to the end phase for
making particular software. It generally deals with the analyst and
the corresponding clients. SDLC has some specific phase. This
are-
1) project identification
2) feasibility study
3) system analysis
4) system design
5) system development
6) system testing
7) system implementation
8) system maintenance
9) system documentation
1) Project identification: - in this phase the analyst
focus the basic objective and identification need for the
corresponding software. In this phase the analyst set up some
meeting with the corresponding client for making the desired
software.
2) Feasibility study: - feasibility defines in the three
views for making particular software for the client.
a) Technical b) financial c) social feasibility.
3) System analysis: - analysis defines how and what type
of desired software we have to make for the client. It has some
pen and paper base. Exercise through which the analyst
focused for there desired goals.
4) System design: - in this phase the analyst draw the
corresponding diagrams related to the particular software. in
this phase the design include in the form of flow chat, data flow
diagram, ntt relationship diagram (NRD).
5) System development: - development refers in the
form of coding, error checking and debarking for the particular
software. This phase deals with the developer activity for
making a successfully software.
6) System testing: - testing refers whatever analyst and
developer done will it be correct and error free to the desired
software. In the S.E there some testing technique to which we
can check whether project is error free.
Problem in the particular software. The main testing
techniques are
1) white box testing
2) black box testing
3) ad hope testing
4) system testing
5) unit testing
6) alpha testing
7) beta testing
7) System implementation: - after completing the
testing phase we have to implement a particular product or system
according to the customer need. In the implementation phase
some design and other user activity part may be changed as per
customer need.
8) System maintenance: - after implementation the
users use the particular software to there corresponding
operation to active there job. In this phase the software
maintained from the user or developer side after spanning some
times of use of particular software. In this phase the related
hardware, software and other utilities are also maintained.
9) System documentation: - documentation refers the
approach and guidelines for the user as well as the customer to
the related software. The documentation refers some writing
instruction for how to use for related hardware requirement, and
also some maintains factors for the users.
Srs (software requirement specification)-
Definition- SRS is a complete reading base documentation
focus on the particular desired software to the specific client or
customer. After collecting the necessary data from SDLC we have
to summarize the useful and appropriate data for making desired
software. SRS has some objectives which is help to the software
developer as well as the customer for making a successfully
software.
Characteristics of SRS-
1) complete
2) traceable
3) appropriate for the developer
4) modifiable
5) simple language
6) software requirement view
Good SRS: - SRS is a very important for fact gathering
technique which include the consider delimiting with the customer
gather previous information related to particular software and
returned on investment the good characteristics of SRS includes
the following activities:
1) It focuses on summarized from for a particular software
specification.
2) The completeness deserves the related phase for making a
required specification.
3) The traceable factor focus on the modification part when
ever it necessary for the development of SRS.
Waterfall model: - waterfall model linear representation of
its face for developing a particular system in this model. These
phases are:
1) Communication (requirement analysis, specification).
2) Planning (estimating, seducing).
3) Modeling (analysis, design).
4) Construction (code, test).
5) Deployment (delegacy, support, fid back).
a) This phase involve the whole working process for
making a particular software for desired client.
b) Iterative waterfall model and the classical waterfall
model are the two types are these model available
calices. We have to follow the linear stage or phase
which are available in waterfall model. But in the iterative
model we can jump over from one phase to another
phase.
Disadvantages of waterfall model:-
1) In real life the project are sequential.
2) Intel finished the project the working versa is not
available for the customer.
3) Hardware implementation in the middle of the project is
fact.
4) In this model the risk factor is not available.
Spiral model: - the spiral model is a step by step process it
stresses on the risk factor of the SDLC.
The stages of the model are:
1) planning
2) risk analysis
3) development
4) customer assessment
a) determine objective alternative
b) evaluative alternative risk analysis
c) development and product
d) plane for next phase
From the above figure we can see that there are
four parts including some loops how ever the number of
loops is not fixed depending on the project. Spiral model
has a special type of focus on risk factor by which it has
make some difference from the other model. In this model
the phases are planning, risk analysis, development and
customer assessment. From the diagram we can say that
first quadrant which representation and make some
object and determine the analysis for a particular project.
The next part deals and evaluated some alternative way
by which we can achieve a simple solution. In this phase
the risk analysis is also measured depending on the
project.
Module 4
System planning
1) What is system planning?
By the planning in S.E it refers the whole internal and external
working activities for making particular software. the planning involves
the software developer and client base future planning from the
starting to the ending phase for making a successful software.
The planning depend upon some categorize by which the software
development team.
2)Data and fact gathering.
For making a particular planning the data and fact are most to
important factors for set up a good plan for the development
particular software.
For collecting data and fact from the real world. Some techniques
are interviewing, site visit, previous software data gathering and some
real world based examples software to the particular clients.
This technique are very essential and important due to original,
meaningful and exact right information through which the developer
(software project team) for set up there plan for making particular
software.
3)planning in the view of S.E: -
In the view of S.E planning is very essential in the view of
creating implementing, error checking, cost estimation schedule and
maintenance for a particular software. in this part the development
team and the project team set a focus for making a particular
software for the desired client. The planning has some advantage for
the software developer as well as the user for the particular software.
These are:
1) interviewing
2) communication
3) presentation
4) site visit
1) Interviewing: - it is the method by which we collect the
data by a specific communication by the software developer and
the customer. It is a face to face approach by which we can
assume that what actually customer wants.
2) Communication: - it refers a technique for building a
project at the start phase. Communication here means dialog
between two authorities. i.e., software development team and the
customer from the software company view generally we make a
team for the communication purpose.
3) Presentation: - it can be made from the both side. i.e.,
software development team and customer. It is basically a
technique whose we can understand that what actual they deal.
4) Site visit: - it is a very important technique for collecting data
for a specific operation. In the site visit a development team visits
the customer site and tries to understand that what actual
operation they do.
Module 4
System design
1) Discuss the term of system design: - after
getting all information regarding making and implementation of
software from system development life cycle or from any source
which helps to build successful software. Design part in view of
software is very important relating to the other issues in the
software development process. Design here means that the
structure and all essential steps, which is to be used for making
a particular software. These are implemented with a specific
diagram.
In S.E the design part generally controlled the system
analysis parts which are maintained by the system analyst. In view of
S.E and information SAD, it has two types of specific designa)
DFD (data flow diagram).
b) ERD (entity relationship diagram)
2) What do you understand by design (in
view of S.E): - a model or design is an abstract
representation of a set of process? Each model represents a
process and data from a particular perspective model provide
person information about some data and process. The genetic
models do not contain process description rather it deals with
product. Different processes are used to develop different part
of the model.
System design tools are basically in two types.
a) System modifying tools (DFD, ERD).
b) System design tools (data dictionary, process description).
The structured analysis involvesa)
Data flow diagram (DFD).
b) Data dictionary.
c) Process description.
In 1976 chain, introduced the method of data analysis in which
takes please through out whole development cycle but in
different degrees in detail. Usually analysis starts early by
developing to level conceptual modeling with using some
specific symbols from a modeling method known as entity
relationship analysis. It starts when a DFD is finished.
DFD (data flow diagram) - the function or process and
the data items that are exchanged between different function are
represented in a diagram known as DFD. The program structure is
designed from its DFD representation. A DFD shows the logical flow
of data through a transaction processing system with out regard to
time period when each function occurred. They are used in system
development process. Symbol used in DFD:
ERD: -
Definition: - an ERD is a graphical model of information
system that describes the relationship among the system entities.
ERD is a major data in our project into entities and define the
relationship between the entities.
Component of ERD: - an ERD has 4 major graphical
components:
1
st entity: - a data entity is anything read or abstract about
which we want to solve and stored in a particular project for example
employee’s books, computers etc.
2
nd entity: - a data relationship is a natural association that
exists between one or more entities.
3
rd attribute: - an attribute is a characteristic of any
particular entity which we can explain in our practical file, for example
if we consider the entity is an employee, then the attribute are
emp_name, emp_address emp_id designation etc.
4
th cardinality: - it is the specific no of occurrence from
one object to another object or one entity to another entity for a
particular description.
Data dictionary: - data flow analysis (DFD) consists of a 4
tools. These are:
1) data flow diagram
2) data dictionary
3) data structure diagram
4) structure chart
Data dictionary contain the information about the data of
a system. I.e. the data about data or Meta data.
A data dictionary is organized into 5 sections:
a) Data elements
b) Data flows
c) Data stores
d) Process
e) External elements
Object oriented design (OOD): - in the object
oriented design the analyst consider and implement the
entities in a particular object. In the other design tools, the
global data base concept has implemented for a particular
project but in the case of OOD the main focus of haring the
data through a massage passing through one to another.
In the real world scenario this type of design
tools has made its own success. Due to dealing with the object
and the object oriented concept in the specific design method.
In the S.E the object oriented design has some specific
approach as a design tool for analyst.
Coupling and cohesion: -
Coupling: - between two methods indicate the degree of
independence between them. The degree of coupling between
two modules depends on their interface complicity. It is
basically determined by no of parameters that are interchange
while invoking function of a particular module. Depending on
their interface complicity; following five coupling can occur
between two modules
Classifications of coupling: -
Data coupling: - two modules are data coupled if they
communicate using same data item that is passed as a parameter
between two modules. For example- an integer, a float etc.
Stamp coupling: - two modules are stamp couple if they
communicate using a composite data item. Such as a structure in c,
as a record Pascal.
Control coupling: - this exists between to modules of data
from one module is used to direct which helps to execute for another
module.
Cohesion- it is a measures of the functional strength of a particular
module. A module having high cohesion and low coupling is said to
be functionally, independent to other module. By term functional
independence we mean that a cohesion module performs a single
task for a single function. We use cohesion due to following lesion
1) error ideation
2) scope of reuse
3) understandability
Classification of cohesion-