Professional Documents
Culture Documents
16 MARKS QUESTIONS
Agile methods
Emphasis on speed of delivery rather than documentation
RAD Rapid application development emphasized use of quickly developed prototypes
JAD Joint application development.
Requirements are identified and agreed in intensive workshops with users
A major pat of the planning will be the choosing of the development methods to
be used and the slotting of these into an overall process model.
The planner needs not only to select methods but also to specify how the method is
to be applied. With methods such as SSADM. there is a considerable degree of
choice about how it is to be applied: not all pats of SSADM are compulsory.
SSADM is to be used: in the event, all that is produced as a few SSADM
fragments such as a top level data low diagram and a preliminary logical data
structue diagram. If this is all the paticular poject equies, it should be stated
at the outset.
Definition.
A (software/system) process model is a description of the sequence of activities carried out in an
SE project, and the relative order of these activities.
It provides a fixed generic framework that can be tailored to a specific project.
Project specific parameters will include:
• Size, (person-years)
• Budget,
• Duration.
The waterfall model is the classic process model – it is widely known, understood and used.
• In some respect, waterfall is the ”common sense” approach.
the „classical‟ model imposes structure on the project every stage needs to be checked and signed
off.
BUT limited scope for iteration
V model approach is an extension of waterfall where different testing phases are identified which
check the quality of different development phases
Advantages
Disadvantages
1. Doesn‟t reflect iterative nature of exploratory development.
2. Sometimes unrealistic to expect accurate requirements early in a project
3. Software is delivered late, delays discovery of serious errors.
4. No inherent risk management
4. Incremental Model
Incremental delivery
Disadvantages
On the other hand these disadvantages have been put forward:
• 'softwae breakage‟, that is, later incements might requie the earlier
incements to be modified;
• developers might be moe poductive working on one large system than on a
seies of smaller ones.
5. Evolutionary Development
Types
Type 1: Exploratory Development:
customer assisted development that evolves a product from ignorance to insight, starting from
core, well understood components (e.g. GUI?).
Spiral model
Disadvantages
1. Needs technical expertise in risk analysis and risk management to work well.
2. Model is poorly understood by nontechnical management, hence not so widely used
3. Complicated model, needs competent professional management. High administrative
overhead.
What is RAD?
Rapid application development RAD is a software development methodology that uses minimal
planning in favor of rapid prototyping. A prototype is a working model that is functionally
equivalent to a component of the product.
In RAD model the functional modules are developed in parallel as prototypes and are integrated
to make the complete product for faster product delivery.
Since there is no detailed preplanning, it makes it easier to incorporate the changes within the
development process. RAD projects follow iterative and incremental model and have small
teams comprising of developers, domain experts, customer representatives and other IT
resources working progressively on their component or prototype.
The most important aspect for this model to be successful is to make sure that the prototypes
developed are reusable.
F
RAD Model Design
RAD model distributes the analysis, design, build, and test phases into a series of short, iterative
development cycles. Following are the phases of RAD Model:
Business Modeling: The business model for the product under development is designed in terms
of flow of information and the distribution of information between various business channels. A
complete business analysis is performed to find the vital information for business, how it can be
obtained, how and when is the information processed and what are the factors driving successful
flow of information.
Data Modeling: The information gathered in the Business Modeling phase is reviewed and
analyzed to form sets of data objects vital for the business. The attributes of all data sets is
identified and defined. The relation between these data objects are established and defined in
detail in relevance to the business model.
Process Modeling: The data object sets defined in the Data Modeling phase are converted to
establish the business information flow needed to achieve specific business objectives as per the
business model. The process model for any changes or enhancements to the data object sets is
defined in this phase. Process descriptions for adding ,deleting, retrieving or modifying a data
object are given.
Application Generation: The actual system is built and coding is done by using automation
tools to convert process and data models into actual prototypes.
Testing and Turnover:The overall testing time is reduced in RAD model as the prototypes are
independently tested during every iteration. However the data flow and the interfaces between all
the components need to be thoroughly tested with complete test coverage. Since most of the
programming components have already been tested, it reduces the risk of any major issues.
Advantages
1. Reduces risk of incorrect user requirements
2. Good where requirements are changing/ uncommitted
3. Regular visible progress aids management
4. Supports early product marketing
Disadvantages
1. An unstable/badly implemented prototype often becomes the final product.
2. Requires extensive customer collaboration
– Costs customers time/money
– Needs committed customers
– Difficult to finish if customer withdraws
– May be too customer specific
Agile Principles
• Incremental delivery of software
• Continuous collaboration with customer
• Embrace change
• Value participants and their interaction
• Simplicity in code,
Agile methods
13. “eXtreme Programming” - XP
eXtreme Programming (XP) is a software development process as well as a methodology.
XP is also a process framework because it can be (and most likely will be) tailored to the specific
needs of teams, projects, companies etc.
To date, XP has been applied to business problems only, e.g. projects with a external customer
that wants a specific product. The projects usually ranged from 6 to 15 months. XP was used by
small teams ranging from two to twelve members (and it is likely to be limited to teams of this
size).
Communication
Good communication is one of the key factors necessary for the success of software projects.
Customers need to communicate the requirements to the developers. Developers communicate
ideas and design to each other and so on.
Simplicity
XP strives for simple systems. This means, they should be as simple as possible but they must
work.
XP also strives for simplicity in the methodology. It reduces the amount of artifacts to an
absolute minimum – the requirements (User Stories), plans (Planning Game) and the product
(code). The practices and techniques can be learned in a matter of hours (although mastering
them of course takes more time).
The main reason for the desire for simplicity is that XP tries to cope with changes and other
risks.
Feedback
XP is a feedback-driven process. You need feedback at all scales, whether you are a customer,
manager or developer. While coding you gets immediate feedback from whitebox testing (Unit
Tests). The customer defines blackbox tests (Functional Tests) and the team delivers releases
frequently. From these practices, both the customers and the developers get feedback about the
status of the system.
Courage
This is a somewhat vague value. It includes courage as well as a certain amount of
aggressiveness. Courage is needed because a lot of the rules and practices are “extreme” in the
way that they go against “tradition” or “wisdom” of software engineering.
Process:
Roles and Responsibilities
Practices:
Advantages
1. Lightweight methods suit small-medium size projects
2. Produces good team cohesion
3. Emphasises final product
4. Iterative
5. Test-based approach to requirements and quality assurance
14. Scrum
Process:
Roles and Responsibilities
Macro process-related to water fall model. Within macro process there will be micro
activities . System testing done here.
Micro process. It is possible for agile projects using XP practices to exist within a more
traditional stage –gate project environment.
Measure of work
It is normally not possible to calculate directly the actual cost or time
equired to implement a project. The time taken to wite a pogram might
vary according to the competence or experience of the pogrammer.
Implementation times might also vary because of envionmental factors
such as the softwae tools available. The usual practice is therefoe to
express the work content of the system to be
implemented independently of effort, using a measue such as source lines
of code (SLOC). The eader might also come across the abbreviation
KLOC which refers to thousands of lines of code.
Complexity
Two pograms with the same KLOC will not necessaily take the same
time to
wite, even if done by the same developer in the same environment. One
pogram
might be more complex. Because of this. SLOC estimates have to be
modified to
take complexity into account. Attempts have been made to objective
measures
of complexity, but often it will depend on the subjective judgement
of the
estimator.
Barry Boehm. in his classic work on softwae effort models, identiied the main
ways of deiving estimates of software development effort as:
• top-down - where an overall estimate is formulated for the whole poject and
is then boken down into the effort requied for component tasks.
Clearly, the 'Parkinson' method is not really an effort prediction method, but a
method of setting the scope of a project. Similarly, 'price to win' is a way of
deciding a pice and not a prediction method.
1.Bottom-up estimating
1. Break project into smaller and smaller components
[Stop when you get to what one person can do in one/two weeks]
2. Estimate costs for the lowest level activities
3. At each higher level calculate estimate by adding estimates for lower levels
f
The effort needed to implement a project will be elated mainly to vaiables
associated with characteistics of the final system. The form of the parametic
model w ill normally be one or moe formulae in the form:
For example, system size might be in the form 'thousands of lines of code'
(KLOC) and the productivity rate 40 days per KLOC. The values to be used will
often be matters of subjective judgement.
3.Expert judgement
4.Estimating by analogy
The new project is known to requie 7 inputs and 15 outputs. One of the past cases.
Project A. has 8 inputs and 17 outputs. The Euclidean distance between the souce
and the target is therefoe the squae-root of ((7-8)2+(l7-l5)2). that is 2.24.
9. Delphi technique
• Several estimators are given specification of work and asked for estimates.
• Summarized anonymously and results circulated to estimators.
• Can revise estimates in the light of others‟ ideas.
• Method reduces personal disagreements and ego-based issues.
The measurement method must be applicable for estimating the effort for developing and
maintaining software in various software domains. Not only business business software (MIS)
but also real‐time software (avionics, telecom, process control) and embedded software (mobile
phones, consumer electronics) can be measured.
The basis for measurement must be found, just as in FPA, in the user requirements the software
must fulfil.
The result of the measurement must be independent of the development environment and the
method used to specify these requirements. Sizes depend only on the user requirements for the
ultimately delivered software product.
COSMIC Concepts
The Functional User Requirements (FUR) are, according to the definition of a functional size
measurement method, the basis for measurement. They specify user‟s needs and procedures that
the software should fulfil.
The FUR are analysed to identify the functional processes. A Functional Process is an
elementary component of a set of FUR. It is triggered by one or more events in the world of the
user of the software being measured. The process is complete when it has executed all that is
required to be done in response to the triggering event.
Each functional process consists of a set of subprocesses that are either movements or
manipulations of data. Since no‐one knows how to measure data manipulation, and since the aim
is to measure „datamovement‐ rich‟ software, the simplifying assumption is made that each
functional process consists of a set of data movements.
A Data Movement moves one Data Group. A Data Group is a unique cohesive set of data
(attributes) specifying an „object of interest‟ (i.e. some thing that is „of interest‟ to the user. Each
Data Movement is counted as one CFP (COSMIC function point).
The benefits
The COSMIC method:
• Is based on fundamental software engineering principles, so „future‐proof‟;
• supports realistic scheduling and budgeting;
• is objective, simple to learn and easy to use;
• supports communication between principal, user and supplier;
• increasing complexity is rated;
• is applicable in most software domains;
• is applicable for complete applications and for components, in any layer;
• complies with ISO 14143.
Organic:
Relatively small groups
working to develop well-understood applications.
Semidetached:
Project team consists of a mixture of experienced and inexperienced staff.
Embedded:
The software is strongly coupled to complex hardware, or real-time systems.
Organic:
Tdev = 2.5 (Effort)0.38 Months
Semi-detached:
Tdev = 2.5 (Effort)0.35 Months
Embedded:
Tdev = 2.5 (Effort)0.32 Months
Multipliers
Multipliers reflect capability of developers, nonfunctional requirements, familiarity with
development platform, etc.
RCPX - product reliability and complexity
RUSE - the reuse required
PDIF - platform difficulty
PREX - personnel experience
PERS - personnel capability
SCED - required schedule
FCIL - the team support facilities
3. Post-Architecture Level
Uses same formula as early design estimates
Estimate of size adjusted to account for:
Requirements volatility
Rework required to support change
Extent of possible reuse
Norden’s work
After the effort required to complete a software project has been estimated, the
staffing requirement for the project can be determined.
Norden’s work suggested that starting of R and D project, the activities of the
project are planned and investigations are made. At this time the man power
requirements are low. As the project progress man power requirements increases
until it reach peak.
Putnam’s Work:
observed that the level of effort required in software development efforts has a similar
envelope.found that the Rayleigh-Norden curve
relates the number of delivered lines of code to effort and development time.
After the effort required to complete a software project has been estimated, the staffing
requirement for the project can be determined.
Putnam suggested that starting from a small number of developers, there should be a
staff build up and after a peak size has been achieved, staff reduction is required.
Putnam analyzed a large number of army projects, and derived the expression:
L=CkK1/3td4/3
Solved problems
UNIT – II
4. What is RAD?
One response to the structured methods is rapid application development. This puts
emphasis on quickly producing the prototypes of the software for users to evaluate.
8. What is gold-plating?
It is requesting of features that are unnecessary and not in fact used, is less as users know
that if a feature is not in the current increment then it can be included in the next.
16. What are the four core values presented as the foundations of XP?
1. Communication and feedback
2. Simplicity
3. Responsibility
4. Courage
Micro process. It is possible for agile projects using XP practices to exist within a more
traditional stage –gate project environment.
Putnam suggested that starting from a small number of developers, there should be a
staff build up and after a peak size has been achieved, staff reduction is required.
Norden’s work suggested that starting of R and D project, the activities of the project are
planned and investigations are made. At this time the man power requirements are low.
As the project progress man power requirements increases until it reach peak.