0% found this document useful (0 votes)
6 views

Unit-1 Software Engg

The document outlines various software development processes, including Informal, Managed, Methodological, and Improving Processes, emphasizing that product quality is dependent on the chosen process. It discusses models such as Waterfall, Incremental, Spiral, Prototyping, Concurrent, and Agile, detailing their advantages and disadvantages. Additionally, it highlights the role of JIRA as a project management tool for tracking issues and improving collaboration in agile environments.

Uploaded by

shelarvinit70
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

Unit-1 Software Engg

The document outlines various software development processes, including Informal, Managed, Methodological, and Improving Processes, emphasizing that product quality is dependent on the chosen process. It discusses models such as Waterfall, Incremental, Spiral, Prototyping, Concurrent, and Agile, detailing their advantages and disadvantages. Additionally, it highlights the role of JIRA as a project management tool for tracking issues and improving collaboration in agile environments.

Uploaded by

shelarvinit70
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 42

• Helps to select appropriate process for the development of software product.

• It identifies that the product quality depends on process.


• Types -
1) Informal Process – If there is no any predefined process model for developing
process then developing team selects any process randomly for developing the
product, such a process is known as informal process. They are mainly used to
develop small sized system.
2) Managed Process – If an already defined process model is used for development
then it is called as managed process. In this case all the required procedures and
relationships among them is defined by process model itself. It is used in developing
large size system.
3) Methodological Process – If an already defined development method is used to
develop S/W product then it called as methodological process. It is used in
developing well understood applications domains.
4) Improving Process – Processes which are used in improving the existing process. It
is used to enhance the quality of existing process.
• It is an important factor for enhancing the quality of process.
• Data that can be measured about the software process are called as Process
Measurements.
• By enhancing the process quality, we can control various process metrics.
• Factors/Matrices on which Process id Measured -
1) Time – It can be measured as a total time required for completion of process.
2) Resources – Resources are the components required or used in development of
process.
3) Occurrence of an Event – Event is a thing that can happen with a process during its
development. Ex- no. of times, changes are required by customer in particular
design.
• Time and Resources helps to check whether the modifications in process has really
improve the quality or not.
• Occurrence of an Event is also directly proportional to the process improvement.
• It define a set of activities and actions to accomplish all tasks of the s/w with milestones,
which is used to develop the s/w.
• The name Prescriptive is given because the model prescribes a set of activities, actions,
task and QA.
• Used by – Software engineer, manager and all employees who are involved in
development of software.
• Impotence – it provides stability, it provides control for well organized activity.
• This process guides s/w team and generates framework activities to organize a process
flow.
• Framework activities performed by the process model are-
• Communication • Planning • Modeling • Construction
• Testing • Deployment • Maintenance
• Waterfall model is the first approach in s/w development process.
• Waterfall model is the first approach in s/w development process.
• Also called as classical lifecycle model or linear sequential model.
• In waterfall model any phase begins only if previous phase is completed.
• Phases of waterfall model-

1. Requirement analysis
2. Design
3. Implementation
4. Testing
5. Deployment
6. Maintenance
• Advantages of waterfall model
• Easy to understand • Easy to use
• Useful in small projects in which requirements are clear at the beginning
• Easy to manage in development process
• Disadvantages of waterfall model
• Not useful for large projects
• Not suitable for projects in which requirements are not clear initially
• Produce is available only at the end of the development process
• Difficult to modify system requirements in the middle of the development process
• Situations where waterfall model can be used
• Requirements are very clear and fixed
• Product definition is stable
• Technology is understood
• No ambiguous requirements
• Required recourses available easily
• Project is short
• The incremental model applies the waterfall model incrementally
• The series of releases is referred to as “increments”
• Each increment provides more functionality to the customer
• After 1st increment, a product is delivered
• Based on the feedback a plan is made for the next increment and the modification are
done accordingly
• This process continues until
the complete product is delivered.
• Phases of waterfall model-
1. Requirement analysis
2. Design
3. Implementation
4. Testing
5. Deployment
6. Maintenance
• Advantages of Incremental Model
• Client have clear idea of the project
• Because of iterations risk is reduced
• More flexible
• Prepares the s/w fast
• Changes are easy to implement

• Disadvantages of Incremental Model


• Resulting cost may exceed the cost of the organization
• Because of continuous iterations the cost increases
• Need good planning
• Based in the principle that “stages consist of growing increments of an operational
s/w product”
• According to the business needs and the changing nature of the market there are lot
of improvements required in the s/w product over a time
• Due to this the product evolutionary development model is required
• Types of Evolutionary Process Model
1. Spiral Model
2. Prototyping Model
• The combination of iterative and
waterfall model
• Rapid development of new version
of the s/w
• Each cycle in the spiral model starts
with the identification of purpose for
the cycle
• Four phases of spiral model are-
1. Object identification
2. Evaluation
3. Product development
4. Next phase planning
• Advantages of Spiral Model
• More flexible to the changing requirements
• Requirements are achieved more accurately
• Risk management is easy
• Useful in large and mission critical projects
• User can view the project from 1st iteration to the end of development

• Disadvantages of Spiral Model


• Difficult to manage the development process
• Not useful for small projects
• Costly
• Requires extra documentation work as documentation is prepared for each
iteration
• Process of developing a working replication of a
product or system that has to be engineered.
• It refers to developing software application
prototypes or approximate version which
displays the behaviour of product under
development
• This model is used when the customers do not
know the exact project requirements beforehand.
• In this model, a prototype of the end product is
first developed, tested and refined as per
customer feedback repeatedly till a final
acceptable prototype is achieved which forms
the basis for developing the final product.
• Advantages of Prototyping Model
• Early evaluation of system by providing work model to the customer at the early stages
of development
• Refining of the prototype results in better implementation of system requirements
• Communication between developer and user reduces the ambiguity
• New requirements can be easily accommodated as there is scope for refinement
• Missing functionalities can be easily figured out.
• Errors can be detected much earlier thereby saving a lot of effort and cost, besides
enhancing the quality of the software.
• Disadvantages of Prototyping Model
• Refining of prototype continues until user is completely satisfies
• So it is time consuming and Expensive process
• More involvement of user in the development process
• The customer might lose interest in the product if he/she is not satisfied with the
initial prototype.
• The concurrent development model is also known as concurrent engineering.
• The concurrent process model shows the current state of activities, tasks and their
associated states that remain in different phases.
• The communication activity has completed in the first
iteration and exits in the awaiting changes state.
• The modeling activity completed its initial
communication and then go to the underdevelopment
state.
• If the customer specifies the change in the
requirement, then the modeling activity moves from
the under development state into the awaiting change
state.
• The concurrent process model activities moving from
one state to another state.
• Advantages of Incremental Model
• More flexible to the changing requirements
• Requirements are achieved more accurately
• Risk management is easy
• Useful in large and mission critical projects
• User can view the project from 1st iteration to the end of development

• Disadvantages of Incremental Model


• Difficult to manage the development process
• Not useful for small projects
• Costly
• Requires extra documentation work as documentation is prepared for each
iteration
• Agile model believes that every project needs to be handled differently and the existing
methods need to be tailored to best suit the project requirements
• The Agile Model is an incremental and iterative process of software development
• Agile refers to something quick or adaptable
• Agile s/w development values –
• Tools and process are important, but it is more important to have competent people
working together effectively
• Good documentation is useful to understand how the s/w is build and how to use it.
• A contract is important, but there is no substitute for working closely with customers
to discover what they need
• A project plan is important but, it must not be too exact to accommodate changes in
technology
• Customer satisfaction by early and continuous delivery of valuable software
• Welcome change in requirement even in late development
• Working s/w is delivered frequently in week rather than months
• Face to face conversation is best from of communication
• Working software is the primary measure of progress
• Simplicity is essential
• Continuous attention to technical excellence and good design
• Regularity, the team reflects on how to become more effective and adjust accordingly
• Advantages of the Agile Model −
• Is a very realistic approach to software development.
• Promotes teamwork and cross training.
• Functionality can be developed rapidly and demonstrated.
• Resource requirements are minimum.
• Suitable for fixed or changing requirements
• Delivers early partial working solutions.
• Good model for environments that change steadily.
• Minimal rules, documentation easily employed.
• Enables concurrent development and delivery within an overall planned context.
• Little or no planning required.
• Easy to manage and Gives flexibility to developers.
• Disadvantages of the Agile Model −
• Not suitable for handling complex dependencies.
• More risk of sustainability, maintainability and extensibility.
• An overall plan, an agile leader and agile PM practice is a must without which it will
not work.
• Strict delivery management dictates the scope, functionality to be delivered, and
adjustments to meet the deadlines.
• Depends heavily on customer interaction, so if customer is not clear, team can be
driven in the wrong direction.
• There is a very high individual dependency, since there is minimum documentation
generated.
• Transfer of technology to new team members may be quite challenging due to lack
of documentation.
• JIRA − It is a web-based “Issue tracking system” or “Bug tracking system”.
• It is mainly used for agile project management .
• The name JIRA is shortened from the word “Gorjira”, which means Godzilla in Japanese.
• JIRA helps us to manage the project effectively and smoothly.
• It is powerful tool to track the issues, bugs, backlogs of the project
• JIRA is more customizable than Bugzilla.
• JIRA is widely used by many organizations around the world
• Key Features of JIRA –
• Issue tracking • Project planning • Project tracking
• Notifications • Improves collaboration • Improves tracking
• Better planning • Increase productivity • Improves customer satisfaction
• Flexible to use

You might also like