Sie sind auf Seite 1von 12

Process Models

Version: 1.0
Based on Software Development Process v3.1.ppt

TCS Internal
Software Process
Why do we need a Process for Software Development ?
What is Software Development Process?
What is the TCS Process Model ?
What are the various Software Process models ?

TCS Internal 15 October 2009


Programming in the small vs. Programming in the large
Programming in the small deals with short-lived programmatic behavior, often executed
as a single transaction and which allows access to local logic and resources such as files,
databases, etc.*
e.g: A classroom exercise on Tax Calculation of individuals
Programming in Large -In software development, programming in the large can involve
programming by larger groups of people or by smaller groups over longer time periods.
Either of these conditions will result in large, and hence complicated, programs that can be
challenging for maintainers to understand.*
e.g: Automation of Income Tax System

(* Source: http://en.wikipedia.org/wiki)

TCS Internal 15 October 2009


Programming in the small vs. Programming in the large
 Individual Effort  Team Effort
 Not Fully Tested  Use of Methodology
 Used by the Developer Only  Documentation
 Circus in Programming Language  Planning
 Intellectual Exercise  Quality Assurance
 No Documentation  Used by Lay User
 Schedule / Cost Control
 Developer Maintenance (if at all)
 Use of Software Tools
 Conformance to Standards
 Reuse
 Non-Developer Maintenance
 Change Management
 Version Control
 Subject to Risks

TCS Internal 15 October 2009


What is a Process ?
A Process is a Series of Definable, Repeatable and Measurable
Tasks leading to a useful result.

Software Development Process is a set of activities required to


efficiently transform Users Needs into an Effective Software Solution

Exercise1

TCS Internal 15 October 2009


Software Engineering

A Systematic Approach to the Development, Operation,


Maintenance and Retirement of Software,

where Software is Computer Programs, Procedures, Rules and


Associated Documents and Data pertaining to the Operation of a
Computer System.
IEEE

TCS Internal 15 October 2009


Software development Process Phases (Sample)
Requirements
Analysis

System
Design
Program
Design

Construction

System Testing

Acceptance
Testing

Operations &
Maintenance

TCS Internal 15 October 2009


Software development Process Phases
Requirements Analysis
This phase covers activities directed towards the identification of software requirements. The user requirements
are arrived at based on a study of the problems, existing systems and discussions with users. These are analyzed
to arrive at a solution for the system in terms of the vital, essential and desired software characteristics.
High Level Design
The design process maps the "what to do" of the requirements specification to the "how to do it" of the design
specification.
HLD starts with defining the design objectives for the proposed system. The components constituting the software
system are identified, the system architecture is defined and the designs of the database and/or the file systems to
be adopted are completed.
Techniques such as data modelling, process modelling, object modelling and prototyping may be used for tasks
such as identifying alternative designs and defining user interfaces.
Low Level Design
In the LLD phase of the project, the detailed design of the system is carried out based on the HLD. The
specification for various components/programs of the system is written during this phase.
Construction
Construction transforms the detailed design representation of a software product into programs. This phase
produces the source code, database, files and the documentation constituting the physical manifestation of the
design. In addition, the code and the database/files are integrated.
System Test
This phase covers testing of the system for system level functionality, security, recovery and restart, performance,
external interface, usability, and integration of the different modules under it.
Acceptance Testing
Based on the pre-defined acceptance criteria, the client conducts the acceptance test during this phase. Support
is provided by the TCS team, if required/as agreed.
Operations & Maintenance

TCS Internal 15 October 2009


Software Development Methodologies

Sequential Iterative Agile


Analysis
Analysis Design
Impln.
Testing
Design Analysis
Design
Impln.
Testing
Implementation
Analysis
Design

Testing Impln.
Testing Scope

TCS Internal 15 October 2009


When to use which model?

(Un)Stability Spiral (Iterative)

Evolutionary (Iterative)

Throw-Away
Waterfall
&
(Sequential)
Waterfall

Risk

Require
ments (Lack of) Clarity

TCS Internal 15 October 2009


TCS Model
(DPH v6.0)

Self Learning:

1. DPH: Ultimatix->>KnowMax->>iQMS wiki->>iQMS Classic->>TCS-iQMS-011


Also refer to TCS-iQMS-012, TCS-iQMS-014 and TCS-iQMS-015 to create awareness about
TCS processes other than development.

2. http://elearning.tvm.tcs.co.in ->>Courses->> Software Development Process

TCS Internal 15 October 2009


References
Pankaj Jalote. An Integrated Approach to Software Engineering, 3rd
edition, Narosa Pub. House, 2005.
Roger S. Pressman. Software Engineering: A Practitioner's
Approach, 6th edition, McGraw-Hill, 2004. (www.rspa.com)
Pfleeger, S.L. Software Engineering: Theory and Practice, 2nd
edition, Prentice Hall, 2001.
Kent Beck. Extreme Programming Explained: Embrace Change, 2nd
edition, Addison-Wesley, 2005.
Cockburn, A. Agile Software Development, Addison-Wesley, 2002.

TCS Internal 15 October 2009

Das könnte Ihnen auch gefallen