Project Execution & Termination

advertisement
Project Execution &
Termination
Life Cycle Execution
Presented by: Basker George
Life Cycle (LC) Execution (实行)




Executing Life Cycle for a project is an
important activity.
It is the longest activity during which the
project’s process is executed.
It is the main Engineering activity for building
software.
Proper LC execution is the focus of Software
Product Engineering KPA of CMM Level 3
Cont…






The Life Cycle activities include:
Design
Coding
Integration (综合)
Testing
There are two approach that can be
followed for the Life Cycle.
The first Approach to LC



In this approach each stage has a detailed
process definition.
Support material document (文档) describe
how each step is to be executed.
Hence a new comer (新来者) can easily
learn the methodology & execute the
process effectively using documentation.
The Second Approach to LC




In this approach, main focus is on the
output & its quality rather than
methodology
Output of each stage is of primary
importance
Detailed step is used as guidelines
(指导方针).
Infosys uses a mixed approach….
Cont…

The main source supporting Life Cycle
execution are:


Activities (活动性) checklist: This consists
of lowest level activities for process
definition.
Guidelines: This describe the methodology
for executing different phase…
Cont…


Templates (模板) : Define the
structure & contents of the outputs of
some stages.
Review (回顾) checklist: List the
issues to look for while reviewing the
output of each stage.
High Level Design



It is a Stage of the Life Cycle
Logical view of the computer
implementation (执行) is developed.
Main outputs are:



Document describing functional (功能的)
design
Database design.
Operating environment architecture
Functional Architecture (建筑)

It specifies the project’s overall layered
architecture.


Example : Client layer, Server Layer,
Application server layer & Database layer..
It explains



How security is handled
Validation to be done
Exceptions to be handled…
Database Design



Indicates tables needed in the system
Attributes of each table, Primary Key,
Foreign Key…
Stored procedures, Views & triggers
Detailed Design

The two main output during detailed
design are:


Logic design of the components identified
in the high-level design
Unit test plan for each unit of the system
Cont…



During this phase implementation for
the module identified in high level
design is specified.
All algorithms & data structure issues
(难题) are resolved during this phase.
When detailed design phase is ready,
the specified logic is coded using the
required programming language.
Build Phase




During this activity, each module is
coded & undergoes unit testing
The logic of detailed design is converted
to the required programming language.
Coding standard for the selected
language play a important role.
Using a checklist code review is done
Code Review Checklist

1.
2.
3.
4.
5.
Completeness
Does the program handle all condition,
function, & updates given in the
specification?
Are inline comments used judiciously?
Are all design issues handled?
Have all user interface handled?
Are all boundary testing/debugging
condition addressed?
Code Review Checklist

1.
2.
3.
4.
5.
6.
7.
8.
Logic and Correctness
Are all input parameter checked?
Are all subscript out-of-range condition checked?
Are results of error checks reported to the calling
programs?
Are code layout & coding standards satisfied?
Is any hard-coding done?
Is any unwarranted coding done?
Are any uninitialized variables present?
Are any non terminating loop present
Code Review Checklist

9.
10.
11.
12.
13.
Logic & correctness …cont…
Does each program has one entry &
one exit point?
Are all declared variables used?
Is the program logic correct?
Is the program modular?
Is the code reusable?
Code Review Checklist

1.
2.
3.
4.
5.
Reliability, portability
Have performance/efficiency check been done?
Is code independent of the character & word size
of the platform?
Are records updated/deleted in the same order
through out the system?
Do comments correspond to the logic being
described?
Are error conditions comprehensively & consistently
handled?
Code Review Checklist

1.
2.
3.
4.
Maintainability
Does the program have proper indentation?
Is there a description at the beginning of the
program that gives details such as description of
program functionality, the author, called program,
calling program, so on?
Are the comments current & do they clarify the
functions of each program/module?
Are the data names descriptive?
Code Review Checklist

Traceability
1.
2.
Can the program source be traced to the
program specification?
Are all copy books used cross-referenced?
System Testing

System testing has two phase




System test planning
System test Activity
System test planning can be performed
after High level design has been completed
System Testing Activity can take place only
after all modules have been coded & unit
tested, i,e after Build Phase.
Cont…

The out put of System test planning stage is TEST PLAN.

During testing activity, TEST PLAN is executed.





The output is SYSTEM TEST REPORT
The report specifies which test passed & which caused
error.
The report is then reviewed & approved
The defect found are logged in the DEFECT CONTROL
SYSTEM
The logged defects are the tracked (跟踪) to closure
Acceptance Test & Installation





The software that is developed to be considered
successful, should be accepted by the customer.
The customer performs some acceptance test in
the environment in which the software will
operate.
Acceptance test works similar to system Testing.
An acceptance test plan is written & executed.
When the test result satisfies the acceptance
criteria, the software is accepted.
Cont…



The acceptance test is prepared &
executed by the customer with the help
of vendor.
Defects found during acceptance test is
fixed by the development team.
Both AT & installation require
instruction how to load the software in
production environment.
Cont…


A “release note “ is therefore prepared for the
project.
This document contains information about






Directories to create
Where to place files
The tables in the system
Stored procedures
Strategy (策略) for populating (板上组装) the
database
Software needed for client & server & source files
of software.
Download