<< Chapter < Page Chapter >> Page >
A software development process is a structure imposed on the development of a software product. This session introduces several models for such processes, each describing approaches to a variety of tasks or activities that take place during the process.

A software development process is a structure imposed on the development of a software product. Synonyms include software lifecycle and software process. There are several models for such processes, each describing approaches to a variety of tasks or activities that take place during the process.

Processes and meta-processes

A growing body of software development organizations implement process methodologies. Many of them are in the defense industry, which in the U.S. requires a rating based on 'process models' to obtain contracts. The international standard for describing the method of selecting, implementing and monitoring the life cycle for software is ISO 12207.

The Capability Maturity Model (CMM) is one of the leading models. Independent assessments grade organizations on how well they follow their defined processes, not on the quality of those processes or the software produced. CMM is gradually replaced by CMMI. ISO 9000 describes standards for formally organizing processes with documentation.

ISO 15504, also known as Software Process Improvement Capability Determination (SPICE), is a "framework for the assessment of software processes". This standard is aimed at setting out a clear model for process comparison. SPICE is used much like CMM and CMMI. It models processes to manage, control, guide and monitor software development. This model is then used to measure what a development organization or project team actually does during software development. This information is analyzed to identify weaknesses and drive improvement. It also identifies strengths that can be continued or integrated into common practice for that organization or team.

Process activities/steps

DesignOperation andMaintenanceRequirementImplementationFeasibility andPlanningTesting

1. Requirements analysis: The most important task in creating a software product is extracting the requirements. Customers typically know what they want, but not what software should do, while incomplete, ambiguous or contradictory requirements are recognized by skilled and experienced software engineers. Frequently demonstrating live code may help reduce the risk that the requirements are incorrect.

The system's services, constraints and goals are established by consultation with system users. They are then defined in a manner that is understandable by both users and development staff.

This phase can be divided into:

  • Feasibility study (often carried out separately)
  • Requirements analysis
  • Requirements definition
  • Requirements specification

2. Design

  • System design: Partition the requirements to hardware or software systems. Establishes an overall system architecture. The architecture of a software system refers to an abstract representation of that system. Architecture is concerned with making sure the software system will meet the requirements of the product, as well as ensuring that future requirements can be addressed. The architecture step also addresses interfaces between the software system and other software products, as well as the underlying hardware or the host operating system.
  • Software design: Represent the software system functions in a form that can be transformed into one or more executable programs. Specification is the task of precisely describing the software to be written, possibly in a rigorous way. In practice, most successful specifications are written to understand and fine-tune applications that were already well-developed, although safety-critical software systems are often carefully specified prior to application development. Specifications are most important for external interfaces that must remain stable.

Questions & Answers

Define and show all Dipthongs and vowels used in english phonetics
Okendro Reply
what is the software engineering
Axmed Reply
Please how can I create an application?
Eric Reply
please how can I create an application
Nchor
How do we create a software
Florence Reply
give a more direct question
Louis Reply
what is semantics?
amjad
what r the computer codes
Kawuba Reply
what is software
Manobendra Reply
how can I create a software
Mary Reply
how to trubulshoot is configuration ?
priya Reply
hello
Julius
hello
abeer
hello
Sahil
hello
Natnael
Hello
Eric
Guy's put your answer only
Natnael
click start then click run then type msconfig then ok
Natnael
explain coco model
dawood Reply
What is a client engineer
buthayna Reply
A Customer Engineer (CE) is a worker whose primary job scope is to provide a service to customers who have signed a contract with the company.
Fokuo
Thank you
buthayna
Hi
ahly
hello,how are you doing?
Fokuo
nothing
Hemant
it's a pleasure meeting you.
Fokuo
tq
Hemant
Nice to meet you too
Hemant
good night
Hemant
hi in here
Asongafac
hello
Eric
please I want to more about this group
Asongafac
pravinkumar
pravin
hello
pravin
I want to create software
Michael
name suraj kumae
Suraj
how can i ave install usb drive but get it not connecting phone
Micheal Reply
hmm
abang
may be it has a problem
abang
maybe u should change usb drive
gabriel
yes
Ali
what is 404 error
Hemant Reply
tell me answers
Hemant
different cmmi level
Sahil Reply
Please I need a teacher
shittu
wht teacher u need?
HANAN
hi
RITESH
is software
RITESH
hello
sarbajeet
good morning all
Hemant
heyy
Ultimate
hi hi
HANAN
hehahahahahha
amjad
what is cmmi
Mulukutla Reply
what are the benefits of been a software engineer
Amissah
hi
Sunday
gud morning oo
Sunday
kk
Sunday
the benefits are life changing
Louis
can have your own ai
Louis
an ai system
Louis
is studying software engineer needs to be math expertise?
Carmela
depends on what your doing
Louis
grasp the whole field by being a problem solver
Louis
mathematics is the language of computing
Louis
but also its the language of the universe
Louis
before you start typing code please plan on pen and paper first with a goal in mind.
Louis
Thank you !!
Carmela
Are you a software engineer already?
Carmela
mathematics is not compulsory for coding
Nadday
just needed basic Nexus calculations
Nadday
what programming language ?
Louis
@Carnela Villegas : Your welcome
Louis
engineering in process student of software engineering
Nadday
@Naddy Naddy: What programming language are you using if i may ask ?
Louis
couple of languages are there not bounded specifically to single one
Nadday
python, Java, Java script, php, swift, go, c# and many more are trending in
Nadday
Java is now superseding his popularity but still the one of the most used coding language
Nadday
I want to be a software engineer too ...
Carmela
best of luck
Nadday
python is now
Louis
python is used by nasa and for data science aswell for live coding and hacking
Louis
it is the fastest growing language to date
Louis
but being efficient at math is a general stand point if your not language specific
Louis
but c++ can't be beat
Louis
especially with the new c++20 coming
Louis
swift for apple
Louis
swift is made by c code
Louis
c++ is > c
Louis
yes pathon is invented in 1991 by guido van rusom it's popular now a days but it's literally used now as much a Java and Java script php but still most popular python
Nadday
c made java
Louis
java is still convenient though
Louis
c made by bell laboratories one of the basic coding languages
Nadday
windows also used it
Nadday
it just depends on what goal you have in mind to you have in mind to use programming language as a conversion
Louis
mathematics > any programming language
Louis
😊
Louis
sorry I've accidentally placed a question mark lol
Louis
😂
Louis
sorry I couldn't get your point
Nadday
no i was saying my device placed 2 question marks accidentally
Louis
but your very intelligent aswell my friend where do you stay if i may ask @Naddy Naddy ?
Louis
I am from Pakistan
Nadday
awesome im from united states my friend nice to meet you lol
Louis
thank you same here
Nadday
😇
Louis
I am doing coding for the elimination of the cyber crimes and strengthen the cyber security
Nadday
Thats awesome im a defcon spy
Louis
white hat
Louis
im a good guy 😊
Louis
nice to hear
Nadday
coding phenomena practice practice and practice
Nadday
yeah same
Louis
thanks. good to know - ' practice practice and practice!'
oh yeah guys alien being exist other than us
Louis
👽
Louis
I like to be software engineer
Toheeb
what is the leading programming language in the world?
HANAN
I have mentioned the names above
Nadday
@HANAN
Louis
ahh ok i will check @Nadday Nadday
HANAN
java ri8 🤞 @Nadday Nadday
HANAN
yes Java is also but not we could limitize the premises
Nadday
there are many others also
Nadday
i mean i ask the best top 1 ..which language is that @Nadday Nadday
HANAN
@HANAN THE PROGRAMMER IS THE LEADING PROGRAMMING LANGUAGE OF THE WORLD IG YOU KNOW WHAT I MEAN
Louis
@HANAN whatever language your most comfortable with
Louis
ohhh thank u @Louis johnson
HANAN
i love to be a software engineer but i dont know how to learn😔
HANAN
go for formal education
Nadday
now i m doing Advance level + HND in Computing and System Develipment... this time i have to finish my assignment but still i didn't finish ... i like to be a software engineer ....but i don't know how to
HANAN
your previous education level @hanan?
Nadday
@HANAN as an advanced human just build your own learning strategy in which is the best way anyway through trial and error or books self learn teach output to others who are willing to learn from ground up from the organization you've built and spread
Louis
@louis johnson ok i will try😊👍...anyway thank u soo much guys @Nadday and @louis
HANAN
@HANAN any errors that need to be fixed just fix along the way in future from your atomic learning process
Louis
learn the difference in micro and macro put it to use as a handle in real reality objective analysis
Louis
thank u soo much bro @louis ...are u a software engineer?
HANAN
your major sujects in hnd
Nadday
I'm a Human lol
Louis
make your basic concepts through c and C ++
Nadday
but yes im a core engineer
Louis
you can say Engineering scientist
Louis
it is the sole centre and Nexus of coding
Nadday
hi
Md
heyy
Ultimate
hi guys
mubarek
hi
Louis

Get the best Software engineering course in your pocket!





Source:  OpenStax, Software engineering. OpenStax CNX. Jul 29, 2009 Download for free at http://cnx.org/content/col10790/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Software engineering' conversation and receive update notifications?

Ask