SlideShare a Scribd company logo
Developing a solution strategy
A solution strategy concerning the nature of possible
solutions.
The selected strategy provides a framework for
design and implementation of the software product.
Various strategies are there from that the best is done
by a group of people who have been trained in the
techniques of brain storming.
A solution strategy is feasible if the project goal and
requirements can be satisfied within the constraints of
available time ,resources and technology using that
strategy.
planning the development process:
software life cycle activities
 define
 develop
 test
 deliver
 operate
 maintain.
lifecycle activities are given above. These activities
are change
 no single life cycle models is used.
 Different models are used for various software
product.
 A life cycle model that is understood and accepted
by all concerned parties improves project
communications and project manageability , resource
allocations, cost control and product quality
The phased lifecycle model:
 Series of successive activities.
 Requires well defined input, process and results in
well defined output.
 Resources is required to complete each phase.
 Application of explicit methods, tools and techniques
Analysis consist of two sub phases
 Planning
 Requirements definition.
This phase includes
Understanding the customer problem.
 Performing a feasibility study.
 Developing solution stragedy
 Acceptance criteria
 Planning the development process.
The products of planning are
 System definitions.
 Project plan.
System definitions:
 Expressed in English or some other language.
 It includes charts, figures, graphs, tables, and
equations.
Project plan:
 Contains lifecycle model to be used.
 Organitational structure.
 Basic development schedule, resource estimate,
staffing requirements, tools and techniques to be used.
 Time and cost are basically calculated because it is
not possible to estimate exactly without doing basic
design.
Requirements definitions:
 It includes basic functions of software components
in hardware, software, and people subsystem.
The product of requirements definition:
 The product of requirements definition is a
specification that describes
 The processing environment
 The required software functions.
 Performance constraints on the software.
 Exception handling
 Acceptance criteria.
Design phase:
 In the phased model, software design follows analysis
 Design phase identified software components
I. Functions.
II. Data streams
III. Data stores
 It specifies relationship among components.
 It specifies software structures.
 Maintaines a record of design decision.
 Blueprint for the implementation phase.
 Design phase consist of
 Architectural design
 Detailed design
Architectural design:
 It involves identifying the software components
dividing them into software modules and conceptual
data structures, specifying interconnection among
components.
Detailed design
 It is concerned with the details of “how to”
 Package the processing modules.
 Implement the processing, algorithm, data structures
and interconnection among modules.
Implemention phase:
 It involves translation of design specification into
source code and debugging, documentation and unit
testing of source code.
Errors:
Implementation phase may include errors in routines,
functions, logical errors, and algorithm, errors in data
structure layout.
System testing:
It involves 2 kinds of activities
 Integration testing
 Acceptance testing
Integration testing:
Developing a stratedy for intergrating the software
components into a function requires careful planning
so that modules are available for integration when
needed.
Acceptance testing:
It involves planning an execution of various type of test
that software system satisfied requirements documents.
After getting the acceptance from the customer software
system of released for production work and mainteance
phase.
Mainteance Phase:
 It Includes
 the enchancement of capabilities.
 Adaptation of software to new processing environment.
 correction of software bugs.
Milestones, documents and reviews:
 Another view of the software lifecycle g softwareive
importance to the milestones, documents and reviews.
 Ask the software products evolves through the
development phase it is difficult for themanager and
team members to determine resources extended to
predict schedule delays extra.
 Establishing milestones, reviews points, documents
and management sign offs can improve project
visibility.
.
The development process becomes more public
activity and tangible.
 This result is improved
 Product quality
 Increased programmer productivity.
 Better moralae among team members
A system definition and project plan:
Product fesability review(PFR)
 PFR is held to determine the feasibility to project
continuation.
 The outcome of review may be
 Termination of the project.
 Redirection of the proect.
 Or continuation of the project as planned.
A primilarly version of the user’s manual is
prepared:
It involves a vehicle of communication between
customer and developer.
It is prepared using information from the system
definition and result of prototype studies and mock
ups of user displays and reports.
A software requirements specification is prepared:
 It defines each essential requirements for software
Product.
 External interface to software ,hardware, firm ware,
people subsystem.
 Each requirements should be define show that it can
be verified by a methods such as
 Inspection
 Demonstration
 Analysis or testing
primilarly version of the software verification of
the plan is prepared
 It states the methods to be used
 Results to be obtained.
A software requirements reviews(SRR)
 Is held to make sure the adequacy of
 system definition
 project plan
 software requirements specification
 software verification plan
 preliminary user’s manual.
Software design specification:
 The design team creates this specification in two stages
 Architectural design document is created.
 Following that the preliminary design review is held
then the detailed design specification is generated.
A preliminary design review(PDR)
 Is held to evaluate of adequacy of the architectural
design insatisfying the SPS(software Product
specification)
 Another reviews may be required to resolve problems
under format sign offs is required of the project manager.
Critical design review:
 Is held
 CDR is used determine the acceptablility of the software
design specification.
 A format sign offs is required.
During the design phase , the software verification
plan is expanned to include method:
 To verify that the design is complete and consistent with
respect to the requirements.
 To verify that the source code is complete and consistent
with respect to the requirements and design specification.
A software verification review is held to evaluate
the adequacy and completeness of the verification
plan:
 To review the primilinary acceptance test plan(ATP)
 ATP includes
 Actual test cases
 Expected result.
 Capabilities to be demonstrated by each test.
 The acceptance plan is initiated during the design
phase and completed during the implementation.
During the implementation phased:
 Source code is written.
 Debug.
 Unit tested.
 Standard parcties in the following area
 Logical structure
 Coading style
 Data layout
 Comments
 Debugging
 Unit testing
Source code reviews are held during
implementation:
 This is to ensure that all the code has been reviewed
by atleast one person other than programmer.
 Inspection are conducted during product evaluation
to verify the completeness, consistency and suitability
of the work products.
 The users manual the installations and training plans
and the software maintenance plans are completed
during the implementation phase.
A final acceptance review is performed prior to
product delivery’.
Software verification summary is prepared.
 It describes the results of all the reviews,
audits,inspection and test throughout the development
cycle.
A project legancy is written:
 The legancy summarises the project and provides a
record of what went well and what went wrong during
the project.
The cost model:
 This model is used specify the cost of performing
various activities in a Software project.
 The cost of conducting a Software project is the sum
of the cost involved in conducting each phase of the
project.
The cost involved each phase include:
 The cost of performing the process
 Preparing the products of the phase.
 Plus the cost of verifying the product of the present
phase are complete and consistent with the previous
phase.
Cost of producing system definition and project plan
=performing planning functions and preparing
documents+ cost of verifying the system definition and
project plan.
 Cost of SRS= Cost of requirements definition and
document + Cost of modifying system definition and
project plan + Cost of verifying SRS is complete and
consistence.
 Cost of design= Cost of preparing design specification
and test plan+ Cost of modifying and correcting the
system definition, project, SRS(Software requirement
specification)+cost of verifying design
Cost of product implementation= Cost of implementing
documenting, debugging and unit tesing of source code+ Cost
of users manual, verification plan, maintenance procedure,
instalization and tranning instructions+ Cost of modifying and
correcting system definition, project plan,SRS, design
specification, verification plan+the Cost of verifying the
implementation is complete and consistent.
 Cost of system test= Cost of planning and conducting the
test+ Cost of modifying and correcting the source code+ Cost
of verifying the test.
Cost of maintenance Software= Cost of performing product
enhancement +making adaptation to new processing
requirements and fixing bugs.
The prototype lifecycle model:
 Importance to the sources of product request , go/no go
decisions points and the use of the prototypes.
 Prototype is a mock up or model of the Software product.
 A prototype incorporates components of the actual model.
 There are several reasons for developing a prototype.
Important reason:
 It illustrates input data formats, messages, reports and
interactive dialogues for the customer.
 To explore technical problems in the proposed system.
 In situations where phased model of analysis, design,
implementation is not appropriate.
Successive version:
 Product development by the mothod of successive
versions is an extension of prototyping.
 In which an initial products skeleton is refined in to
increasing the level of capabilities
 It illustrates the analysis phase followed by
interactive design, implementation and assessment of
successive version.
 The dashed line indicates that the assessment of
version I may indicate the need for the further analysis
before designing version I+1.
Version I is the prototype version of the software
product.
 Versions one through N of the product or designed
prior to any implementation activities.
 The dashed line indicates that implementation of the
Ith version may reveal the need for further analysis
snd design before proceeding with implementation of
version I+1
Planning an organizational structure:
 Contains various task
 The task include
 Planning
 Product development
 Services
 Publications
 Quality assurance
 Support and maintenance
Planning task identifiers:
 External cutomers
 Internal product needes
 Conducts feasibility study.
Development Task Identifiers:
 design
 implements debuggs
 test and integrate the product
service task provides:
 automated tools and computer resources for all other
task. Performs configuration.
 Product distribution
Publication task develops:
 Users manual
 Instalization instruction Principles of operation
Supporting documents
Quality assurance task provides:
 Independent evaluvation of source code.
 Publications prior to releasing them to customer.
Support task:
 Promotes the product. Trainers user.
 Installs the product.
Maintenance task provides:
 Error connection Enhancement
Methods for organizing these task include:
 Project format
 Functional format
 Matrix format
Project structures
Project format
 It involes assuming a team of programmers. Project
team members do
 Product definition
 Design the product
 Implement it
 Test it
 Conducts Project review
 Preparing supporting document.
Functional format:
 In this approach a different team of programmers
perform each phase of the Project
 The work products pass from team to team as they
evolved
 Functional format involves 3 teams
 An analysis team.
 A design team and implementation team.
 test formatting and maintenance team.
Matrix format
 In this format each of the functions has its own management
team.
 This format involves a group of specialist personnel
concerned only with that function.
 Each development project has a project manager concerned
only with that Project
 The Project manager generates and reviews documents.
 Each functional group participate in each Project
 Ex: software development team members belongs to the
development function similarly testing belong the testing
function.
Programming team structure:
Every programming team must have an internal
structure.
Team structure depends on the nature of the Project
and the product
Basic team structure includes
Demacratic team
All team members participate in all decisions.
The chief programmer team:
 chief programmer is assited and supported by other
team members.
 Ex: doctors, surgeon
Hierarchical team:
 In combines the aspects of the democratic team and
chief programmer team.
 Each team should be limited to not more than 5 or 17
members for effective coordination and
communication.
Democratic team
 this teams was first described as egoless team.
 Group leadership rotates from member to member
based on the task to be performed and the differing
abilities of the team members.
 A Democratic team differs from an egoless team is
that one team members is designsted as team leader
and occupies the position of first among equals.
 This is because a team fuctions best when one
individual is responsible for coordinationg team
activities and for making final decision.
Advantages:
 Opptunities for each team members to contribute to
decision.
 To learn from one another
 Increased job satisfaction
 Non threatening work environment.
Disadvantages:
 Weeknening of individual and authority.
chief programmer teams:
this teams are highly structured.
 the chief programmer
design the product.
 Implement critical parts of the product
 Makes all the major technical decision.
 Work is allocated to the individual programmer by
the chief programmers.
 A program librarian maintains program listing,
design documents, test plans etc in a central location.
 The chief programmer is assited by an administrative
program manager.
Advantages:
 Centralized decision making.
 Reduced communication paths.
Hierarchical team structure:
 This structure occupies a middle position between the
extremes of Democratic teams and chief programmer
teams.
 The Project needed assigns, task, attends,
reviews,detects problem areas, balances the word load the
participate in technical activities.
 This structure limits the number of communication paths
in the Project
Disadvantages:
 The most technical competetant programmer tend to
be promoted in to management positions.
Promotion of the best programmer have the two
negative effects.
Losing a good programmer.
Creating a poor manager.
Other planning activities:
 Planning for configuration management and quality
assurance.
Configuration management:
Modeof arrangement
Concerned witj controlling changes in the work
products.
Accounting for the status of the work products
Mainteaning the program support library
Quality assurance:
Develops and monitors the Project standars.
Performs audits.
Develop and perfoms acceptance test.
During planning phase:
 The two activities are specified.
 Tools are identified an acquired.
During design phase:
 Requriments and design specification are performed.
 Adherence to project standard is monitor.
During implementation phase:
 Requirements, design specification and source code are
perfomed .
 During testing phase:
 Acceptance and preparation of test results are
performed.
Planning for independent verification and validation:
 An independent organization may provide verification of
work products for some critical software Project
 Veification makes sure that various work products are
complete and consistence.
 An external organization may verify that the design
specification are complete and cosistance.
 Source code is complete.
 Validation involves.
 Planning and execution of text cases.
 Independent verification and validation results in high
quality software product.
Planning phase-dependent tools and technique:
Automated tools,specialized notation and modern
techniques are used to develop software requriments
specification, architectural and detailed design and the
source code.
Management tools such as structures, charts, are used
to track and control progress.
Other planning activities:
 It includes:
 primilinary cost estimate.
 primilinary development schedule
 primilinary staffing levels.
 primilinary estimates of the computing resources and
personnel require to operate and maintain the system.

More Related Content

PPTX
Phased life cycle model
PPTX
software cost factor
PPTX
Planning the development process
PPTX
Quality and productivity factors
PPTX
Chapter 1 2 - some size factors
PPTX
Software requirements specification
PPTX
Software Cost Estimation Techniques
PDF
Software Cost Estimation Techniques
Phased life cycle model
software cost factor
Planning the development process
Quality and productivity factors
Chapter 1 2 - some size factors
Software requirements specification
Software Cost Estimation Techniques
Software Cost Estimation Techniques

What's hot (20)

PPTX
Designing Techniques in Software Engineering
PPTX
Modules and modularization criteria
PDF
Programming team structure
PPTX
Language and Processors for Requirements Specification
PPTX
Fundamental design concepts
PPTX
Staffing level estimation
PPTX
Estimating Software Maintenance Costs
PPTX
unit testing and debugging
PPTX
Lect4 software economics
PPTX
Real time and distributed design
PPTX
Defining the Problem - Goals and requirements
PPTX
Software Engineering Practices and Issues.pptx
PPTX
Software Engineering
PPTX
Delphi cost estimation model
PPTX
COCOMO model
PPTX
Design notation
PPTX
Software project planning
PPTX
software maintenance
PPTX
source code metrics and other maintenance tools and techniques
PDF
COCOMO Model By Dr. B. J. Mohite
Designing Techniques in Software Engineering
Modules and modularization criteria
Programming team structure
Language and Processors for Requirements Specification
Fundamental design concepts
Staffing level estimation
Estimating Software Maintenance Costs
unit testing and debugging
Lect4 software economics
Real time and distributed design
Defining the Problem - Goals and requirements
Software Engineering Practices and Issues.pptx
Software Engineering
Delphi cost estimation model
COCOMO model
Design notation
Software project planning
software maintenance
source code metrics and other maintenance tools and techniques
COCOMO Model By Dr. B. J. Mohite
Ad

Similar to Software Engineering (20)

PPTX
Planning the development Process in SE.pptx
DOC
Softwareenggineering lab manual
PPTX
SDLC comprises seven different stages: planning, analysis, design, developmen...
PPTX
SOFTWARE TESTING unit 1 types of software testing.pptx
PPT
16103271 software-testing-ppt
DOCX
Testing material (1).docx
PPTX
Software Engineering-Process Models.pptx
PPTX
Software Development Life Cycle (SDLC )
PPTX
Software Development Methodologies.pptx
PPT
Chapter 2 Software Process models of SE.ppt
PPTX
Design programing logic powor point.pptx
PPTX
Fundamentals of software development
PPTX
Bridge Process Model
PPTX
Unit 1 Software Engineering and Development Models .pptx
PPT
Software Process in software engineering
PPTX
Software testing
PPT
Lecture 1-4.ppt Introduction to Software Engineering: The evolving role of so...
PPT
ISE_Lecture Week 2-SW Process Models.ppt
PPTX
STLC & SDLC-ppt-1.pptx
PDF
Importance of software quality metrics
Planning the development Process in SE.pptx
Softwareenggineering lab manual
SDLC comprises seven different stages: planning, analysis, design, developmen...
SOFTWARE TESTING unit 1 types of software testing.pptx
16103271 software-testing-ppt
Testing material (1).docx
Software Engineering-Process Models.pptx
Software Development Life Cycle (SDLC )
Software Development Methodologies.pptx
Chapter 2 Software Process models of SE.ppt
Design programing logic powor point.pptx
Fundamentals of software development
Bridge Process Model
Unit 1 Software Engineering and Development Models .pptx
Software Process in software engineering
Software testing
Lecture 1-4.ppt Introduction to Software Engineering: The evolving role of so...
ISE_Lecture Week 2-SW Process Models.ppt
STLC & SDLC-ppt-1.pptx
Importance of software quality metrics
Ad

Recently uploaded (20)

PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PPTX
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
PDF
Basic Mud Logging Guide for educational purpose
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PPTX
Pharma ospi slides which help in ospi learning
PDF
Complications of Minimal Access Surgery at WLH
PDF
VCE English Exam - Section C Student Revision Booklet
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PPTX
Cell Structure & Organelles in detailed.
PDF
Classroom Observation Tools for Teachers
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PDF
TR - Agricultural Crops Production NC III.pdf
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Module 4: Burden of Disease Tutorial Slides S2 2025
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
Final Presentation General Medicine 03-08-2024.pptx
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
Basic Mud Logging Guide for educational purpose
2.FourierTransform-ShortQuestionswithAnswers.pdf
Pharma ospi slides which help in ospi learning
Complications of Minimal Access Surgery at WLH
VCE English Exam - Section C Student Revision Booklet
Renaissance Architecture: A Journey from Faith to Humanism
Anesthesia in Laparoscopic Surgery in India
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Cell Structure & Organelles in detailed.
Classroom Observation Tools for Teachers
FourierSeries-QuestionsWithAnswers(Part-A).pdf
TR - Agricultural Crops Production NC III.pdf
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf

Software Engineering

  • 1. Developing a solution strategy A solution strategy concerning the nature of possible solutions. The selected strategy provides a framework for design and implementation of the software product. Various strategies are there from that the best is done by a group of people who have been trained in the techniques of brain storming. A solution strategy is feasible if the project goal and requirements can be satisfied within the constraints of available time ,resources and technology using that strategy.
  • 2. planning the development process: software life cycle activities  define  develop  test  deliver  operate  maintain.
  • 3. lifecycle activities are given above. These activities are change  no single life cycle models is used.  Different models are used for various software product.  A life cycle model that is understood and accepted by all concerned parties improves project communications and project manageability , resource allocations, cost control and product quality
  • 4. The phased lifecycle model:  Series of successive activities.  Requires well defined input, process and results in well defined output.  Resources is required to complete each phase.  Application of explicit methods, tools and techniques
  • 5. Analysis consist of two sub phases  Planning  Requirements definition. This phase includes Understanding the customer problem.  Performing a feasibility study.  Developing solution stragedy  Acceptance criteria  Planning the development process.
  • 6. The products of planning are  System definitions.  Project plan. System definitions:  Expressed in English or some other language.  It includes charts, figures, graphs, tables, and equations.
  • 7. Project plan:  Contains lifecycle model to be used.  Organitational structure.  Basic development schedule, resource estimate, staffing requirements, tools and techniques to be used.  Time and cost are basically calculated because it is not possible to estimate exactly without doing basic design.
  • 8. Requirements definitions:  It includes basic functions of software components in hardware, software, and people subsystem. The product of requirements definition:  The product of requirements definition is a specification that describes  The processing environment  The required software functions.  Performance constraints on the software.  Exception handling  Acceptance criteria.
  • 9. Design phase:  In the phased model, software design follows analysis  Design phase identified software components I. Functions. II. Data streams III. Data stores  It specifies relationship among components.  It specifies software structures.  Maintaines a record of design decision.  Blueprint for the implementation phase.  Design phase consist of  Architectural design  Detailed design
  • 10. Architectural design:  It involves identifying the software components dividing them into software modules and conceptual data structures, specifying interconnection among components. Detailed design  It is concerned with the details of “how to”  Package the processing modules.  Implement the processing, algorithm, data structures and interconnection among modules.
  • 11. Implemention phase:  It involves translation of design specification into source code and debugging, documentation and unit testing of source code. Errors: Implementation phase may include errors in routines, functions, logical errors, and algorithm, errors in data structure layout.
  • 12. System testing: It involves 2 kinds of activities  Integration testing  Acceptance testing Integration testing: Developing a stratedy for intergrating the software components into a function requires careful planning so that modules are available for integration when needed.
  • 13. Acceptance testing: It involves planning an execution of various type of test that software system satisfied requirements documents. After getting the acceptance from the customer software system of released for production work and mainteance phase. Mainteance Phase:  It Includes  the enchancement of capabilities.  Adaptation of software to new processing environment.  correction of software bugs.
  • 14. Milestones, documents and reviews:  Another view of the software lifecycle g softwareive importance to the milestones, documents and reviews.  Ask the software products evolves through the development phase it is difficult for themanager and team members to determine resources extended to predict schedule delays extra.  Establishing milestones, reviews points, documents and management sign offs can improve project visibility. .
  • 15. The development process becomes more public activity and tangible.  This result is improved  Product quality  Increased programmer productivity.  Better moralae among team members
  • 16. A system definition and project plan: Product fesability review(PFR)  PFR is held to determine the feasibility to project continuation.  The outcome of review may be  Termination of the project.  Redirection of the proect.  Or continuation of the project as planned.
  • 17. A primilarly version of the user’s manual is prepared: It involves a vehicle of communication between customer and developer. It is prepared using information from the system definition and result of prototype studies and mock ups of user displays and reports.
  • 18. A software requirements specification is prepared:  It defines each essential requirements for software Product.  External interface to software ,hardware, firm ware, people subsystem.  Each requirements should be define show that it can be verified by a methods such as  Inspection  Demonstration  Analysis or testing
  • 19. primilarly version of the software verification of the plan is prepared  It states the methods to be used  Results to be obtained. A software requirements reviews(SRR)  Is held to make sure the adequacy of  system definition  project plan  software requirements specification  software verification plan  preliminary user’s manual.
  • 20. Software design specification:  The design team creates this specification in two stages  Architectural design document is created.  Following that the preliminary design review is held then the detailed design specification is generated. A preliminary design review(PDR)  Is held to evaluate of adequacy of the architectural design insatisfying the SPS(software Product specification)  Another reviews may be required to resolve problems under format sign offs is required of the project manager.
  • 21. Critical design review:  Is held  CDR is used determine the acceptablility of the software design specification.  A format sign offs is required. During the design phase , the software verification plan is expanned to include method:  To verify that the design is complete and consistent with respect to the requirements.  To verify that the source code is complete and consistent with respect to the requirements and design specification.
  • 22. A software verification review is held to evaluate the adequacy and completeness of the verification plan:  To review the primilinary acceptance test plan(ATP)  ATP includes  Actual test cases  Expected result.  Capabilities to be demonstrated by each test.  The acceptance plan is initiated during the design phase and completed during the implementation.
  • 23. During the implementation phased:  Source code is written.  Debug.  Unit tested.  Standard parcties in the following area  Logical structure  Coading style  Data layout  Comments  Debugging  Unit testing
  • 24. Source code reviews are held during implementation:  This is to ensure that all the code has been reviewed by atleast one person other than programmer.  Inspection are conducted during product evaluation to verify the completeness, consistency and suitability of the work products.  The users manual the installations and training plans and the software maintenance plans are completed during the implementation phase. A final acceptance review is performed prior to product delivery’.
  • 25. Software verification summary is prepared.  It describes the results of all the reviews, audits,inspection and test throughout the development cycle. A project legancy is written:  The legancy summarises the project and provides a record of what went well and what went wrong during the project.
  • 26. The cost model:  This model is used specify the cost of performing various activities in a Software project.  The cost of conducting a Software project is the sum of the cost involved in conducting each phase of the project. The cost involved each phase include:  The cost of performing the process  Preparing the products of the phase.  Plus the cost of verifying the product of the present phase are complete and consistent with the previous phase.
  • 27. Cost of producing system definition and project plan =performing planning functions and preparing documents+ cost of verifying the system definition and project plan.  Cost of SRS= Cost of requirements definition and document + Cost of modifying system definition and project plan + Cost of verifying SRS is complete and consistence.  Cost of design= Cost of preparing design specification and test plan+ Cost of modifying and correcting the system definition, project, SRS(Software requirement specification)+cost of verifying design
  • 28. Cost of product implementation= Cost of implementing documenting, debugging and unit tesing of source code+ Cost of users manual, verification plan, maintenance procedure, instalization and tranning instructions+ Cost of modifying and correcting system definition, project plan,SRS, design specification, verification plan+the Cost of verifying the implementation is complete and consistent.  Cost of system test= Cost of planning and conducting the test+ Cost of modifying and correcting the source code+ Cost of verifying the test. Cost of maintenance Software= Cost of performing product enhancement +making adaptation to new processing requirements and fixing bugs.
  • 29. The prototype lifecycle model:  Importance to the sources of product request , go/no go decisions points and the use of the prototypes.  Prototype is a mock up or model of the Software product.  A prototype incorporates components of the actual model.  There are several reasons for developing a prototype. Important reason:  It illustrates input data formats, messages, reports and interactive dialogues for the customer.  To explore technical problems in the proposed system.  In situations where phased model of analysis, design, implementation is not appropriate.
  • 30. Successive version:  Product development by the mothod of successive versions is an extension of prototyping.  In which an initial products skeleton is refined in to increasing the level of capabilities  It illustrates the analysis phase followed by interactive design, implementation and assessment of successive version.  The dashed line indicates that the assessment of version I may indicate the need for the further analysis before designing version I+1.
  • 31. Version I is the prototype version of the software product.  Versions one through N of the product or designed prior to any implementation activities.  The dashed line indicates that implementation of the Ith version may reveal the need for further analysis snd design before proceeding with implementation of version I+1
  • 32. Planning an organizational structure:  Contains various task  The task include  Planning  Product development  Services  Publications  Quality assurance  Support and maintenance
  • 33. Planning task identifiers:  External cutomers  Internal product needes  Conducts feasibility study. Development Task Identifiers:  design  implements debuggs  test and integrate the product
  • 34. service task provides:  automated tools and computer resources for all other task. Performs configuration.  Product distribution Publication task develops:  Users manual  Instalization instruction Principles of operation Supporting documents
  • 35. Quality assurance task provides:  Independent evaluvation of source code.  Publications prior to releasing them to customer. Support task:  Promotes the product. Trainers user.  Installs the product. Maintenance task provides:  Error connection Enhancement
  • 36. Methods for organizing these task include:  Project format  Functional format  Matrix format
  • 37. Project structures Project format  It involes assuming a team of programmers. Project team members do  Product definition  Design the product  Implement it  Test it  Conducts Project review  Preparing supporting document.
  • 38. Functional format:  In this approach a different team of programmers perform each phase of the Project  The work products pass from team to team as they evolved  Functional format involves 3 teams  An analysis team.  A design team and implementation team.  test formatting and maintenance team.
  • 39. Matrix format  In this format each of the functions has its own management team.  This format involves a group of specialist personnel concerned only with that function.  Each development project has a project manager concerned only with that Project  The Project manager generates and reviews documents.  Each functional group participate in each Project  Ex: software development team members belongs to the development function similarly testing belong the testing function.
  • 40. Programming team structure: Every programming team must have an internal structure. Team structure depends on the nature of the Project and the product Basic team structure includes Demacratic team All team members participate in all decisions.
  • 41. The chief programmer team:  chief programmer is assited and supported by other team members.  Ex: doctors, surgeon Hierarchical team:  In combines the aspects of the democratic team and chief programmer team.  Each team should be limited to not more than 5 or 17 members for effective coordination and communication.
  • 42. Democratic team  this teams was first described as egoless team.  Group leadership rotates from member to member based on the task to be performed and the differing abilities of the team members.  A Democratic team differs from an egoless team is that one team members is designsted as team leader and occupies the position of first among equals.  This is because a team fuctions best when one individual is responsible for coordinationg team activities and for making final decision.
  • 43. Advantages:  Opptunities for each team members to contribute to decision.  To learn from one another  Increased job satisfaction  Non threatening work environment. Disadvantages:  Weeknening of individual and authority. chief programmer teams: this teams are highly structured.  the chief programmer
  • 44. design the product.  Implement critical parts of the product  Makes all the major technical decision.  Work is allocated to the individual programmer by the chief programmers.  A program librarian maintains program listing, design documents, test plans etc in a central location.  The chief programmer is assited by an administrative program manager.
  • 45. Advantages:  Centralized decision making.  Reduced communication paths. Hierarchical team structure:  This structure occupies a middle position between the extremes of Democratic teams and chief programmer teams.  The Project needed assigns, task, attends, reviews,detects problem areas, balances the word load the participate in technical activities.  This structure limits the number of communication paths in the Project
  • 46. Disadvantages:  The most technical competetant programmer tend to be promoted in to management positions. Promotion of the best programmer have the two negative effects. Losing a good programmer. Creating a poor manager. Other planning activities:  Planning for configuration management and quality assurance.
  • 47. Configuration management: Modeof arrangement Concerned witj controlling changes in the work products. Accounting for the status of the work products Mainteaning the program support library Quality assurance: Develops and monitors the Project standars. Performs audits. Develop and perfoms acceptance test.
  • 48. During planning phase:  The two activities are specified.  Tools are identified an acquired. During design phase:  Requriments and design specification are performed.  Adherence to project standard is monitor. During implementation phase:  Requirements, design specification and source code are perfomed .  During testing phase:  Acceptance and preparation of test results are performed.
  • 49. Planning for independent verification and validation:  An independent organization may provide verification of work products for some critical software Project  Veification makes sure that various work products are complete and consistence.  An external organization may verify that the design specification are complete and cosistance.  Source code is complete.  Validation involves.  Planning and execution of text cases.  Independent verification and validation results in high quality software product.
  • 50. Planning phase-dependent tools and technique: Automated tools,specialized notation and modern techniques are used to develop software requriments specification, architectural and detailed design and the source code. Management tools such as structures, charts, are used to track and control progress.
  • 51. Other planning activities:  It includes:  primilinary cost estimate.  primilinary development schedule  primilinary staffing levels.  primilinary estimates of the computing resources and personnel require to operate and maintain the system.