software engineering body of knowledge software development core activities processes requirements design engineering construction testing debugging deployment maintenance paradigms and models agile cleanroom incremental prototyping spiral v model waterfall methodologies and frameworks asd devops dad dsdm fdd iid kanban lean sd less mdd msf psp rad rup safe scrum semat tsp up xp supporting disciplines configuration management documentation software quality assurance sqa project management user experience practices atdd bdd cco ci cd ddd pp standup tdd tools compiler debugger profiler gui designer modeling ide build automation release automation infrastructure as code testing standards and bodies of knowledge babok cmmi ieee standards iso 9001 isoiec standards pmbok swebok itil glossaries artificial intelligence computer science electrical and electronics engineering vte the software engineering body of knowledge swebok is an international standard isoiec tr 197592005 specifying a guide to the generally accepted software engineering body of knowledge the guide to the software engineering body of knowledge swebok guide has been created through cooperation among several professional bodies and members of industry and is published by the ieee computer society ieee swebok version 3 the published version of swebok v3 has the following 15 knowledge areas kas within the field of software engineering software requirements software design software construction software testing software maintenance software configuration management software engineering management software engineering process software engineering models and methods software quality software engineering professional practice software engineering economics computing foundations mathematical foundations engineering foundations it also recognized but did not define these related disciplines computer engineering systems engineering project management quality management general management computer science mathematics 2004 edition of the swebok the 2004 edition of the swebok guide defined ten knowledge areas kas within the field of software engineering software requirements software design software construction software testing software maintenance software configuration management software engineering management engineering management software engineering process software engineering tools and methods software quality the swebok also defines disciplines related to software engineering computer engineering computer science management mathematics project management quality management software ergonomics cognitive ergonomics systems engineering similar efforts a similar effort to define a body of knowledge for software engineering is the computing curriculum software engineering ccse officially named software engineering 2004 se2004 the curriculum largely overlaps with the 2004 swebok v2 because the swebok has been used as one of its sources however it is more directed towards academia whereas the swebok guide defines the software engineering knowledge that practitioners should have after four years of practice se2004 defines the knowledge that an undergraduate software engineering student should possess upon graduation including knowledge of mathematics general engineering principles and other related areas swebok v3 aims to address these intersections project management body of knowledge pmbok enterprise architecture body of knowledge eabok business analysis body of knowledge babok automation body of knowledge abok data management body of knowledge dmbok isoiec jtc 1sc 7 official website vtesoftware engineeringfields computer programming requirements engineering software deployment software design software maintenance software testing systems analysis formal methods concepts data modeling enterprise architecture functional specification modeling language orthogonality programming paradigm software software archaeology software architecture software configuration management software development methodology software development process software quality software quality assurance software verification and validation structured analysis orientations agile aspectoriented object orientation ontology service orientation sdlc modelsdevelopmental agile eup executable uml incremental model iterative model prototype model rad up scrum spiral model vmodel waterfall model xp other spice cmmi data model er model function model information model metamodeling object model systems model view model languages idef uml usl sysml softwareengineers victor basili kent beck grady booch fred brooks barry boehm peter chen danese cooper ward cunningham tom demarco edsger w dijkstra delores m etter martin fowler adele goldstine margaret hamilton c a r hoare lois haibt mary jean harrold grace hopper watts humphrey michael a jackson ivar jacobson alan kay nancy leveson stephen j mellor bertrand meyer david parnas trygve reenskaug winston w royce james rumbaugh mary shaw peri tarr elaine weyuker niklaus wirth edward yourdon related fields computer science computer engineering project management risk management systems engineering category commons 