Professional Documents
Culture Documents
1
Software engineering Practices.
Software Engineering is a systematic process of developing
software
.
Practices: Is a collection of concepts , principles , methods and
tools those are considered while planning and developing the
software.
Elements of Practices
Concepts
Principles
Methods
Tools.
2
Software Engineering Practices:
1) Understanding a Problem( Communication and Analysis ):
Find Stake Holder
Cod review 3
4) Checking of the result for accuracy (Testing & Quality
assurance )
7
Communication Practices
Communication Practices is the initial stage that collects or
gathers the requirements from the customer.
Communication is the most important activity as it is a one of
the important for deciding the success or failure of the project .
Requirement analysis needs a huge communication .
Communication is the backbone for any organization that
develops the software.
1. “Listen Carefully”:
1. To understand customers requirement .
2. Listening ensures proper data collection.
3. Don’t be in hurry ,ask questions for doubt .
4. Try to avoid interruption.
2. “Be prepared before you communicate”:
1. Prepare agenda for meeting
2. Prepare all issues for meeting.
3. Try to understand problem statement in detail.
8
3. “Be prepared to facilitate the activity”
1. Solve the conflicts if any
4. “ Face to Face communication”:
1. Better than documents and drawings
5. “ Take Notes and document Decision”:
1. Write down all important points and issues raised in meeting .
6. Be realistic:
1. Delays ,mistake and wrong decision.
2. Estimation of the project must be realistic.
3. Plan should be dynamic.
7. Adjust granularity as you define the plan:
1. Granularity means the level of detail.
2. Activities that do not occur longer time doesn’t require fine
granularity . 12
8. Define how you are going to achieve the quality:
1. Conduct Formal technical review.
2. FTR applied at requirement analysis ,design , coding ,testing etc.
3. It is not a problem solving activity but it finds out defects.
9. Describe how you accommodate changes:
1. Good quality software must be well planned to accommodate
changes.
2. Changes in the project affects the cost and schedule.
3. Changes in the sw are easy to do if found in early stage .
10. Always keep track on the plan and make changes as
required.
13
Planning Principles:
Boehm Suggests WHH principles
15
Modelling Practices
Models are created for the better understanding of the actual entity
or design .
e.g. Building
Modelplan
must be capable of representing the information that
software
transforms, the architecture and functions.
Model must accomplish the different levels of abstraction
and representing it at more technical level.
In Software engineering two types of models
Analysis Models
Design Models
Design Models Analysis Model
The Architecture Information Domain
The User Interface Function Domain
Component Level Behavior Domain
16
Analysis Modelling Principal
1. The information domain of problem must be clearly
represented and understood :
1. Analysis Model use DFD to show such information.
2. Information Domain includes following things:
1. Input Flow into system
2. Output Flow from the system
3. Data Collection by data store to collect data in the system .
2. Function of the software must be defined clearly:
1. Functions transforms the input flow to output flow.
2. The process specifications functions provides function
details.
3. These functions must be clearly defined.
3. Behavior of the system must be clearly defined :
1. State transition diagram are used to represent the
behavior of the
system.
17
2. The behavior of the system shows how the system
4. The models that depict function, information, and
behaviour must be partitioned in such a manner that
uncovers details in a layered fashion
1. Complex and critical problems are difficult to solve, because of
we use divide and conquer approach.
2. Large, complex and critical problems are divided into
subproblems until each sub problems is relatively easy to
understand.
3. This approach is called partitioning.
18
Design Modelling
Design modeling is equivalent to architectural plan of the house,
It provides the correct specification for construction.
19
1. Design should be traceable from analysis model.
2. Consider the architecture of the system to be built.
Architecture design shows following architecture styles
1. Data centered architecture –
Client sw accessing central database.
2. Data Flow Architecture –
1. Input data flow after processing generates
output data.
3. Main/ subprogram Architecture
1. Showing hierarchical relationship between main
programs and its subprograms.
3. Design of data is an important as design of functions
1. Design of data is an important factor.
2. The Data designing shows relationship between
different data objects.
3. Design model includes “Entity Relationship Diagrams” to show
relationship between diff data objects.
20
4. The interfaces must be designed with care
1. In a system data may flow from one component to another
component.
2. Also data may flow from external environment to system, so
the internal and external interfaces must be designed properly.
Testing :
To check whether the flow of coding is correct.
To check the errors in the code.
To Check whether the program is giving expected output.
Sequence of testing
Integration Testing
Validation Testing
Acceptance Testing
22
Coding Principals
1. Preparation Principles:
23
2. Coding Principles:
Principles to be followed while writing the code.
1. The algorithm you are using must follow structured
programming principles.
2. Use suitable data structure those will fit for coding.
3. Software architecture & interfaces are to be implemented as
per design specification.
4. Keep minimum nested conditions.
5. Keep minimum nested loops.
6. The variable name should be meaningful and as per standards.
7. Code must be self documented i.e. provide help comments for
each
steps.
3. Validation Principles:
1. Conduct the unit test also when module produce exact output.
2. Refactor the code if necessary.
24
Testing Principles
Software testing ensures
Quality of the software
Customer Satisfaction
Removal of errors
Verification and Validation of Sw product.
Compatibility of the software.
Principles:
25
Software Deployment
Software Deployment activity consist of three main activities delivery,
support and Feedback.
27
Concept of requirement engineering
Requirement engineering is used for better understanding of
the problem that software is going to start.
33
Following are different traceability tables :
34
Concept of SRS
The software requirement specification are generated at the end .