Professional Documents
Culture Documents
Chapter One
Chapter One
ask yourself questions such as: “Does this add real value to the system?” If the answer is no,
don’t do it. All other principles support this one.
General Principles
2. The Second Principle: KISS (Keep It Simple, Stupid!)
➢ Indeed, the more elegant designs are usually the simpler ones. Simple does not mean
“quick and dirty.” It often takes a lot of thought an work over multiple iterations to
simplify the design. The payoff is software that is more maintainable and less error-
prone.
➢ As components are being implemented, unit tests9 are designed and executed for each. In
addition, integration activities (component assembly and integration testing) are conducted.
➢ The transition phase of the UP encompasses the latter stages of the generic construction activity
and the first part of the generic deployment (delivery and feedback) activity.
➢ Software and supporting documentation is given to end users for beta testing, and user feedback
reports both defects and necessary changes. At the conclusion of the transition phase, the
software increment becomes a usable software release.
Prescriptive Process Models
➢ The production phase of the UP coincides with the deployment activity of the
generic process. During this phase, the ongoing use of the software is
monitored, support for the operating environment (infrastructure) is provided,
and defect reports and requests for changes are submitted and evaluated.
➢ It is likely that at the same time the construction, transition, and production
phases are being conducted, work may have already begun on the next software
increment. This means that the five UP phases do not occur in a sequence, but
rather with staggered concurrency.
Software life cycle and process models
What is Software Development Life Cycle (SDLC)
➢ All software development begins with the same first step; all software products
begin as ideas. The idea is turned into a prototype and exists in various forms
before it gets into the user’s hands.
➢ The output of each stage in the software development cycle becomes the input
for the next stage. This continues until the software is delivered to the customer.
➢ The Software Development Lifecycle (SDLC) is the process we use to develop
software. If followed correctly, the software life cycle phases can provide the
best level of documentation and management control.
Software life cycle and process models
➢ A life cycle model provides a framework for the various activities that must be
carried out during software product development. Different life cycle models
may plan the necessary development activities in different ways, depending on
the project’s specific needs.
➢ However, all life cycle models typically include essential activities such as
requirement gathering, design, implementation, testing, and deployment.
Software life cycle and process models
The Software Life Cycle Phases
1. PLANNING
➢ The senior management team performs it after getting input from all the key
stakeholders and industry experts.
➢ Planning for quality assurance requirements and risks associated with the
project is done at this stage to ensure a successful outcome.
Software life cycle and process models
➢ A business analyst and project planner meet with a client to discuss what they want to build,
who will be using the product, and what the goal of the product is.
➢ Before creating your product, you must understand its core functionality.
➢ For example, a client may want an application for money transactions that is precise in function,
operation, and currency.
➢ Once the analysis is complete, an audit is conducted to evaluate the product’s viability. If any
questions arise, a discussion is initiated.
Software life cycle and process models
2. DEFINING REQUIREMENTS
➢ The next step in the SDLC is to define the software product requirements. The SRS document
created in the previous stage will be used as a guide for this. The software developers should
thoroughly follow the SRS and ensure that the customer reviews it before proceeding to the
next stage.
➢ The next stage of the software development life cycle is to document and represent the software
requirements and get them accepted by the project stakeholders.
➢ SRS is the document containing all of the requirements for the product to be designed and
developed during the project’s lifecycle
Software life cycle and process models
3. DESIGN STAGE
➢ The final phase of building software is where all the knowledge from the previous two is brought
together. This results from all the input from the client and the requirement-gathering process.
4. DEVELOPMENT
➢ The final stage is to develop your project.
➢ In this phase, the coding is developed, and the implementation of the design is begun.
➢ In this stage of SDLC, developers write code according to the coding guidelines set by their
management. They also use programming tools such as compilers, interpreters, and debuggers to
develop and implement the code.
Software life cycle and process models
5. TESTING
➢ After the code is generated, testing that the products solve the needs addressed and
gathered during the requirements stage is important. This can be done through unit
testing, integration testing, system testing, and acceptance testing.
➢ During development, there are several types of tests that can be performed. Unit,
Integration, System, and Acceptance.
.
Software life cycle and process models
6. DEPLOYMENT
➢ Once the software is tested and certified, it is deployed to users.
➢ Then, based on the analysis results, the product is released as it is or with recommended
enhancements in the target area.
➢ After the software has been successfully installed, its upkeep and maintenance begin.
7. MAINTENANCE
➢ Once a client begins using these systems, real issues start coming up, and new needs arise.
➢ This process of ensuring the quality of the developed product is known as maintenance
Software process metrics
➢ Software metrics are measurable characteristics of a software program. They can be used to
measure performance, plan upcoming work tasks, track productivity and better manage the
production process during project management by being able to see distinct numbers and trends
as production is taking place.
➢ Process metrics are the measures of the development process that creates a body of software. A
common example of a process metric is the length of time that the process of software creation
tasks
Software process metrics
There are four major types of software metrics:
1. Agile and lean metrics
➢ Agile and lean software metrics focus on how you decide and plan projects. You can use this
metric to improve the software development process. Within agile and lean software metrics,
there are several factors for you to consider:
A. Cycle time
➢ Cycle time is the time to change a software program and implement it in production. Updates
and changes to a new system both can be part of cycle time because they remove the system
from the production process. You can measure cycle time as the time the system is down for
upgrades during production time. Improving cycle time can improve overall productivity.
Software process metrics
B. Lead time
➢ This is the time to develop, design and turn new software ideas into a final product. In
terms of projects, this is the time spent deciding what a software program needs and
designing it to fit that need.
➢ Lowering the lead time can help you create software that is more responsive to
customer needs. You can measure lead time as the time you take to define and analyze
the system requirements, design and code the software into the program, test the
software and deploy it as a final product.
Software process metrics
C. Team velocity
➢ This is an internal metric you can use to measure how many software deliverables a
team outputs during an amount of time.
➢ Some of the most common time frames you can use are during a sprint or iteration,
during a month or several months' time span and an entire production year.
➢ You can use this metric to measure individual outputs for software development teams,
but because output changes for different teams and at different times, what you
consider a success can change.
Software process metrics
D. Open and close rates
➢ Open and close rates measure the number of production issues that occurred and production
teams solved in a period.
➢ You can use them to gain an understanding of the trends that develop in the production process,
whether it's discovering fewer issues or finding solutions more often.
➢ Using open and close rates can also help you determine other ways to make the production
process more efficient.
Software process metrics
2. Function-oriented metrics
➢ Function-oriented metrics can help you understand the functionality a software program has.
You can use them to develop better end-user methods.
➢ You can relate this metric to other parts of the production process, such as open and close rates
and lead time. Because the function of a software program can be difficult to define, function-
oriented metrics use a function point (FP) you can use to quantify and measure the business
productivity of the software. Specific measurements include:
• Errors or defects per function point:
• Defect removal efficiency
Software process metrics
3. Production metrics
➢ You can use production metrics to measure how efficiently software development teams design
and deploy software.
➢ Using production metrics can be important if you want to deploy software quickly with minimal
errors.
4. Security metrics
➢ Security metrics are a way you can determine the quality of your software programs.
➢ You can track these metrics to see how well software development teams develop security
responses in their software programs.
Assignment 1
1. Write some other software metrics which can be used to develop software
system.
➢Please do not copy each other I am not going to evaluate either or yours
➢Submission date within a week from the given day.
Don’t forget to write reference
Please submit your assignment through my email provided on the very beginning
slide