Inxhinieria e softuerit: Dallime mes rishikimesh
[Redaktim i kontrolluar] | [Redaktim i kontrolluar] |
Content deleted Content added
vNo edit summary |
No edit summary |
||
Rreshti 1:
'''Inxhinieria e softuerit''' është një fushë brenda [[Shkenca kompjuterike|shkencës kompjuterike]] e fokusuar në projektimin, zhvillimin, testimin dhe mirëmbajtjen e aplikacioneve softuerike. Ai përfshin zbatimin e parimeve inxhinierike dhe ekspertizën [[Programimi kompjuterik|e programimit kompjuterik]] për të zhvilluar sisteme softuerike që plotësojnë nevojat e përdoruesve.<ref name="BoDu04">{{Harvnb|Abran|Moore|Bourque|Dupuis|2004}}</ref><ref name="ACM 2020">{{Cite web |last=ACM |year=2007 |title=Computing Degrees & Careers |url=http://computingcareers.acm.org/?page_id=12 |url-status=dead |access-date=2010-11-23 |publisher=ACM|language=en}}</ref><ref name="Laplante 2007">{{Cite book |last=Laplante |first=Phillip |url=https://books.google.com/books?id=pFHYk0KWAEgC&q=What%20Every%20Engineer%20Should%20Know%20about%20Software%20Engineering.&pg=PA1 |title=What Every Engineer Should Know about Software Engineering |publisher=CRC |year=2007 |isbn=978-0-8493-7228-5 |location=Boca Raton |access-date=2011-01-21 |language=en}}</ref><ref>{{Cite web |date=Oct 31, 2022 |title=What Does a Software Engineer Do? |url=https://www.coursera.org/articles/software-engineer|publisher=[[coursera]]|language=en}}</ref>
Termat ''[[programues]]'' dhe ''kodues'' mbivendosen ''inxhinier softuerësh'', por ato nënkuptojnë vetëm aspektin e ndërtimit të ngarkesës tipike të inxhinierit të softuerit.
Një inxhinier softuerësh zbaton një [[Zhvillimi i softuerit|proces zhvillimi softuerësh]],<ref name="BoDu04">{{Harvnb|Abran|Moore|Bourque|Dupuis|2004}}</ref><ref>{{Cite book |url=https://www.computer.org/web/swebok/v3 |title=Guide to the Software Engineering Body of Knowledge Version 3.0 (SWEBOK) |date=2014 |publisher=[[IEEE Computer Society]] |editor-last=Bourque |editor-first=Pierre |editor-last2=Fairley |editor-first2=Richard E. (Dick)|language=en}}</ref> që përfshin përcaktimin, [[Implementimi|zbatimin]], [[Testimi i softuerit|testimin]], [[Menaxhimi i Projektit|menaxhimin]] dhe [[Mirëmbajtja e softuerit|mirëmbajtjen e]] sistemeve të softuerit dhe krijimin dhe modifikimin e procesit të zhvillimit.
== Historia ==
Duke filluar në vitet 1960, inxhinieria e softuerit u njoh si një fushë e veçantë e [[Inxhinieria|inxhinierisë]].
Zhvillimi i inxhinierisë softuerike u pa si një sfide. Problemet përfshinin softuer që kishin tejkaluar buxhetin, tejkaluar afatet, kërkonte korrigjimin dhe mirëmbajtjen e gjerë dhe plotësonte pa sukses nevojat e konsumatorëve ose nuk ishte përfunduar asnjëherë.
Në vitin 1968, [[NATO]] mbajti konferencën e parë të inxhinierisë softuerike ku u trajtuan çështjet që lidhen me softuerin. U krijuan udhëzime dhe praktika më të mira për zhvillimin e softuerit.<ref>{{Cite web |title=The history of coding and software engineering |url=https://www.hackreactor.com/blog/the-history-of-coding-and-software-engineering |access-date=2021-05-06 |website=www.hackreactor.com |language=en-US}}</ref>
Origjina e termit ''inxhinieri softuerike'' i është atribuar burimeve të ndryshme. Termi u shfaq në një listë shërbimesh të ofruara nga kompanitë në qershorin e vitit 1965 çështja e "Computers and Automation"<ref>{{Cite web |title=Computers and Automation: The Computer Directory and Buyers' Guide, 1965 |url=http://www.bitsavers.org/magazines/Computers_And_Automation/196506.pdf |access-date=15 July 2023 |website=bitsavers.org | language=en}}</ref> dhe ishte përdor më formalisht në gushtin e vitit 1966 të ''Communications of the ACM'' (Vëllimi 9, numri 8), në një "Letër të Presidentit drejtuar Anëtarëve të ACM", të shkruar nga Anthony A. Oettinger.<ref>{{Cite journal |last=Oettinger |first=A. G. |year=1966 |title=President's Letter to the ACM Membership |journal=Commun. ACM |publisher=Association for Computing Machinery |volume=9 |pages=545–546 |doi=10.1145/365758.3291288 |issn=0001-0782 |doi-access=free| language=en}}</ref><ref>{{Cite web |date=4 April 2013 |title=The origin of "software engineering" |url=https://bertrandmeyer.com/2013/04/04/the-origin-of-software-engineering/ |access-date=17 November 2017| language=en}}</ref> Ajo shoqërohet gjithashtu me titullin e një konference të NATO-s në vitin 1968 nga Profesor Friedrich L. Bauer .<ref>{{Cite web |last=Randall |first=Brian |title=The 1968/69 NATO Software Engineering Reports |url=http://homepages.cs.ncl.ac.uk/brian.randell/NATO/NATOReports/ |access-date=17 November 2017|language=en}}</ref> [[Margaret Hamilton (shkencëtare)|Margaret Hamilton]] përshkroi disiplinën e "inxhinierisë së softuerit" gjatë misioneve Apollo për t'i dhënë legjitimitet asaj që po bënin.<ref>{{Cite web |last=Lori Cameron |date=October 5, 2008 |title=Margaret Hamilton: First Software Engineer |url=https://www.computer.org/publications/tech-news/events/what-to-know-about-the-scientist-who-invented-the-term-software-engineering |website=Tech News |publisher=[[IEEE Computer Society]]|language=en}}</ref> Në atë kohë u perceptua se kishte një "krizë softuerike ".<ref>{{Cite book |last=Ian Sommerville |title=Software Engineering |date=March 24, 2015 |publisher=Pearson Education Limited |isbn=978-0-13-394303-0 |edition=10th|language=en}}</ref><ref>{{Cite web |last=Randell |first=Brian |author-link=Brian Randell |date=10 August 2001 |title=The 1968/69 NATO Software Engineering Reports |url=http://homepages.cs.ncl.ac.uk/brian.randell/NATO/NATOReports/index.html |access-date=2008-10-11 |website=Brian Randell's University Homepage |publisher=The School of the Computer Sciences, Newcastle University |quote=The idea for the first NATO Software Engineering Conference, and in particular that of adopting the then practically unknown term "software engineering" as its (deliberately provocative) title, I believe came originally from Professor [[Friedrich L. Bauer|Fritz Bauer]].|language=en}}</ref> Konferenca e 40-të Ndërkombëtare për Inxhinierinë Softuerike (ICSE 2018) feston 50 vjetorin e "Inxhinierisë Softuerike" me fjalimet kryesore të Sesioneve Plenare të Frederick Brooks<ref>{{Cite web |last=2018 International Conference on Software Engineering celebrating its 40th anniversary, and 50 years of Software engineering |date=31 May 2018 |title=ICSE 2018 – Plenary Sessions – Fred Brooks |url=https://www.youtube.com/watch?v=StN49re9Nq8&t=67s |access-date=9 August 2018 |website=[[YouTube]]|language=en}}</ref> dhe [[Margaret Hamilton (shkencëtare)|Margaret Hamilton]].<ref>{{Cite web |last=2018 International Conference on Software Engineering celebrating its 40th anniversary, and 50 years of Software engineering |date=31 May 2018 |title=ICSE 2018 – Plenary Sessions – Margaret Hamilton |url=https://www.youtube.com/watch?v=ZbVOF0Uk5lU |access-date=9 August 2018 |website=[[YouTube]]|language=en}}</ref>
Në vitin 1984, Instituti i Inxhinierisë së Softuerit (SEI) u krijua si një qendër kërkimore dhe zhvillimi e financuar nga qeveria me seli në kampusin e Universitetit Carnegie Mellon në Pittsburgh, Pensilvani, Shtetet e Bashkuara te Amerikës. Watts Humphrey themeloi Programin e Procesit të Softuerit SEI, që synon kuptimin dhe menaxhimin e procesit të inxhinierisë softuerike. Nivelet e Maturitetit të Procesit të prezantuara u bënë Integrimi i Modelit të Maturitetit të Kapacitetit për Zhvillim (CMMI-DEV), i cili përcaktoi se si qeveria e SHBA vlerëson aftësitë e një ekipi të zhvillimit të softuerit.
Praktikat më të mira moderne, përgjithësisht të pranuara për inxhinierinë e softuerit janë mbledhur nga nënkomiteti ISO/IEC JTC 1/SC 7 dhe janë publikuar si Trupi i Njohurive i Inxhinierisë Softuerike (SWEBOK).<ref>{{Cite book |url=https://www.computer.org/web/swebok/v3 |title=Guide to the Software Engineering Body of Knowledge Version 3.0 (SWEBOK) |date=2014 |publisher=[[IEEE Computer Society]] |editor-last=Bourque |editor-first=Pierre |editor-last2=Fairley |editor-first2=Richard E. (Dick)|language=en}}</ref> Inxhinieria e softuerit konsiderohet si një nga disiplinat kryesore të informatikës.<ref name="se2014">{{Cite book |last=Joint Task Force on Computing Curricula, [[IEEE Computer Society]], [[Association for Computing Machinery]] |url=https://www.acm.org/binaries/content/assets/education/se2014.pdf |title=Software Engineering 2014: Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering |date=23 February 2015 |publisher=[[IEEE Computer Society]] and [[Association for Computing Machinery]] |series=A Volume of the Computing Curricula Series|language=en}}</ref>
== Terminologjia ==
=== Definicioni ===
Definicionet e shquara të inxhinierisë softuerike përfshijnë:
* Zbatimi sistematik i njohurive, metodave dhe përvojës shkencore dhe teknologjike në projektimin, zbatimin, testimin dhe dokumentimin e softuerit." – Byroja e Statistikave të Punës – [[IEEE]] ''Systems and software engineering – Vocabulary''
* "Zbatimi i një qasjeje sistematike, të disiplinuar, të matshme për zhvillimin, funksionimin dhe mirëmbajtjen e softuerit."- [[IEEE]] ''Standard Glossary of Software Engineering Terminology''
* "Një disiplinë inxhinierike që ka të bëjë me të gjitha aspektet e prodhimit të softuerit." – Ian Sommerville <ref name="Sommerville1">{{Cite book |last=Sommerville |first=Ian |title=Software Engineering |publisher=Pearson Education |year=2007 |isbn=978-0-321-31379-9 |edition=8th |location=Harlow, England |pages=7 |chapter=1.1.2 What is software engineering? |quote=Software engineering is an engineering discipline that is concerned with all aspects of software production from the early stages of system specification to maintaining the system after it has gone into use. In this definition, there are two key phrases:<br /> 1. ''Engineering discipline'' Engineers make things work. They apply theories, methods and tools where these are appropriate [. . .] Engineers also recognize that they must work to organizational and financial constraints. [. . .]<br /> 2. ''All aspects of software production'' Software engineering is not just concerned with the technical processes of software development but also with activities such as software project management and with the development of tools, methods and theories to support software production. |author-link=Ian Sommerville (academic) |chapter-url=http://www.pearsoned.co.uk/HigherEducation/Booksby/Sommerville/|language=en}}</ref>
* "Krijimi dhe përdorimi i parimeve të shëndosha inxhinierike për të përftuar ekonomikisht softuer që është i besueshëm dhe funksionon me efikasitet në makina reale." – Fritz Bauer <ref name="Bauer1">{{Cite journal |title=Software Engineering |journal=Information Processing |volume=71 |pages=530–538|language=en}}</ref>
* "Një degë e shkencës kompjuterike që merret me projektimin, zbatimin dhe mirëmbajtjen e [[Programi kompjuterik|programeve kompjuterike]] komplekse." – [[Merriam-Webster]] <ref>{{Cite web |title=Definition of SOFTWARE ENGINEERING |url=https://www.merriam-webster.com/dictionary/software+engineering |access-date=2019-11-25 |website=www.merriam-webster.com |language=en}}</ref>
* " Inxhinieria e softuerit" përfshin jo vetëm aktin e shkrimit të kodit, por të gjitha mjetet dhe proceset që përdor një organizatë për të ndërtuar dhe mirëmbajtur atë kod me kalimin e kohës. […] Inxhinieria e softuerit mund të mendohet si "programim i integruar me kalimin e kohës<nowiki>''</nowiki>- Inxhinier Softuerësh në [[Google]] <ref>{{Cite book |last=Winters |first=Titus |title=Software Engineering at Google |last2=Manshrec |first2=Tom |last3=Wright |first3=Hyrum |publisher=O'Reilly Media, Inc. |year=2020 |isbn=978-1-4920-8279-8 |pages=xix–xx, 6–7 |chapter=Preface, Programming Over Time |quote=We propose that “software engineering” encompasses not just the act of writing code, but all of the tools and processes an organization uses to build and maintain that code over time. What practices can a software organization introduce that will best keep its code valuable over the long term? How can engineers make a codebase more sustainable and the software engineering discipline itself more rigorous?|language=en}}</ref>
Termi është përdorur gjithashtu më pak formalisht:
* si termi bashkëkohor informal për gamën e gjerë të aktiviteteve që më parë quheshin [[Programimi kompjuterik|programim kompjuterik]] dhe [[analiza e sistemeve]],<ref>{{Cite web |last=Akram I. Salah |date=2002-04-05 |title=Engineering an Academic Program in Software Engineering |url=http://www.micsymposium.org/mics_2002/SALAH.PDF |access-date=2006-09-13 |publisher=35th Annual Midwest Instruction and Computing Symposium|language=en}}: "For some, software engineering is just a glorified name for programming. If you are a programmer, you might put 'software engineer' on your business card—never 'programmer' though."</ref>
* si term i gjerë për të gjitha aspektet e ''praktikës'' së programimit kompjuterik, në krahasim me ''teorinë'' e programimit kompjuterik, e cila është studiuar zyrtarisht si një nëndisiplinë e [[Shkenca kompjuterike|shkencës kompjuterike,]] <ref name="p. 26">Mills, Harlan D., J. R. Newman, and C. B. Engle, Jr., "An Undergraduate Curriculum in Software Engineering," in {{Cite book |last=Deimel |first=Lionel E. |title=Software Engineering Education: SEI Conference 1990, Pittsburgh, Pennsylvania, USA, April 2–3,... |publisher=Springer |year=1990 |isbn=978-0-387-97274-9|language=en}},[https://books.google.com/books?id=ZuWbyy2blMEC&pg=PA26 p. 26]: "As a practical matter, we regard software engineering as the necessary preparation for the practicing, software development and maintenance professional. The Computer Scientist is preparing for further theoretical studies..."</ref>
* si term që mishëron ''mbrojtjen'' e një qasjeje specifike ndaj programimit kompjuterik, një që kërkon që ai të trajtohet si një disiplinë [[Inxhinieria|inxhinierike]] dhe jo si një art apo zanat, dhe mbron kodifikimin e praktikave të rekomanduara.<ref>{{Cite journal |last=Barbara Kitchevnham |last2=David Budgen |last3=Pearl Brereton |last4=Stephen Linkman |date=2005 |title=Realising evidence-based software engineering |journal=[[ACM SIGSOFT Software Engineering Notes]] |volume=30 |issue=4 |pages=1–3 |doi=10.1145/1082983.1083175 |quote="We believe that software engineering can only advance as an engineering discipline by moving away from its current dependence upon advocacy and analysis, ..."|language=en}}</ref>
=== Etimologjia ===
[[Margaret Hamilton (shkencëtare)|Margaret Hamilton]] promovoi termin "inxhinieri softuerike" gjatë punës së saj në [[Programi Apollo|programin Apollo]] . Termi "inxhinieri" u përdor për të pranuar se puna duhet marrë po aq seriozisht sa kontributet e tjera drejt perparimit të teknologjisë. Hamilton detajon përdorimin e saj të termit:<blockquote>Kur për herë të parë dola me termin, askush nuk kishte dëgjuar për të më parë, të paktën në botën tonë. Ishte një shaka e vazhdueshme për një kohë të gjatë. Atyre u pëlqente të më tallnin për idetë e mia radikale. Ishte një ditë e paharrueshme kur një nga ekspertët më të respektuar të harduerit u shpjegoi të gjithëve në një takim se ishte dakord me mua që procesi i ndërtimit të softuerit duhet të konsiderohet gjithashtu një disiplinë inxhinierike, ashtu si me harduerin. Jo për shkak të pranimit të tij të "termit" të ri në vetvete, por sepse ne kishim fituar pranimin e tij dhe të të tjerëve në dhomë si në një fushë inxhinierike më vete.<ref>{{Cite book |last=Lawrence |first=Snyder |title=Fluency with information technology : skills, concepts, & capabilities |year=2017 |isbn=978-0-13-444872-5 |edition=[Seventh edition] |location=NY, NY |oclc=960641978|language=en}}</ref></blockquote>
=== Përshtatshmëria ===
Komentuesit individualë nuk kanë rënë dakord ashpër se si të përkufizohet ''inxhinieria e softuerit'' ose legjitimiteti i saj si një disiplinë inxhinierike. David Parnas ka thënë se inxhinieria e softuerit është, në fakt, një formë e inxhinierisë.<ref>{{Cite journal |last=Parnas |first=David L. |author-link=David Parnas |year=1998 |title=Software Engineering Programmes are not Computer Science Programmes |url=http://citeseer.ist.psu.edu/parnas98software.html |journal=Annals of Software Engineering |volume=6 |pages=19–37 |doi=10.1023/A:1018949113292|language=en}}, p. 19: "Rather than treat software engineering as a subfield of computer science, I treat it as an element of the set, {Civil Engineering, Mechanical Engineering, Chemical Engineering, Electrical Engineering,....}."</ref><ref>{{Cite journal |last=Parnas |first=David L. |year=1998 |title=Software Engineering Programmes are not Computer Science Programmes |url=http://citeseer.ist.psu.edu/parnas98software.html |journal=Annals of Software Engineering |volume=6 |pages=19–37 |doi=10.1023/A:1018949113292|language=en}}, p. 20: "This paper argues that the introduction of accredited professional programs in software engineering, programmes that are modelled on programmes in traditional engineering disciplines will help to increase both the quality and quantity of graduates who are well prepared, by their education, to develop trustworthy software products."</ref> Steve McConnell ka thënë se nuk është, por duhet të jetë.<ref>{{Cite book |last=McConnell |first=Steve |url=https://archive.org/details/professionalsoft00mcco_0 |title=Professional Software Development: Shorter Schedules, Better Projects, Superior Products, Enhanced Careers |date=August 2003 |publisher=Addison-Wesley |isbn=0-321-19367-9 |location=Boston, MA |author-link=Steve McConnell |url-access=registration|language=en}}, p. 39: "In my opinion, the answer to that question is clear: Professional software development should be engineering. Is it? No. But should it be? Unquestionably, yes. "</ref> Donald Knuth ka thënë se programimi është një art dhe një shkencë.<ref>{{Cite journal |last=Knuth |first=Donald |author-link=Donald Knuth |year=1974 |title=Computer Programming as an Art |url=http://disciplinas.lia.ufc.br/matdis061/arquivos/knuth-turingaward.pdf |journal=Communications of the ACM |volume=17 |issue=12 |pages=667–673 |doi=10.1145/361604.361612 |doi-access=free|language=en}}Transcript of the 1974 [[Turing Award]] lecture.</ref> Edsger W. Dijkstra pohoi se termat ''inxhinieri softuerike'' dhe ''inxhinieri i softuerit'' janë keqpërdorur në Shtetet e Bashkuara.<ref>{{Cite web |last=Dijkstra |first=Edsger W |author-link=Edsger Dijkstra |last2=transcribed by Mario Béland |date=November 23, 2004 |title=There is still a war going on (manuscript Austin, 3 December 1993) |url=http://www.cs.utexas.edu/users/EWD/transcriptions/EWD11xx/EWD1165.html |access-date=February 17, 2007 |website=E. W. Dijkstra Archive |publisher=The University of Texas at Austin, Department of Computer Sciences |quote=When the term was coined in 1968 by F.L. Bauer of the Technological University of Munich, I welcomed it. [. . .] I interpreted the introduction of the term "software engineering" as an apt reflection of the fact that the design of software systems was an activity par excellence for the mathematical engineer. [. . .]. As soon the term arrived in the USA, it was relieved of all its technical content. It had to be so for in its original meaning it was totally unacceptable [. . .] In the meantime, software engineering has become an almost empty term, as was nicely demonstrated by Data General who overnight promoted all its programmers to the exalted rank of "software engineer"!|language=en}}</ref>
== Ngarkesa e punës ==
=== Analiza e kërkesave ===
Inxhinieria e kërkesave ka të bëjë me nxjerrjen, analizën, specifikimin dhe validimin e kërkesave për [[Softueri kompjuterik|softuer]] . Kërkesat e softuerit mund të jenë funksionale, jofunksionale ose të fushës.
Kërkesat funksionale përshkruajnë sjelljet e pritshme (dmth. rezultatet). Kërkesat jofunksionale specifikojnë çështje si protabiliteti, siguria, mirëmbajtja, besueshmëria, shkallëzueshmëria, performanca, ripërdorimi dhe fleksibiliteti. Ato klasifikohen në llojet e mëposhtme: kufizimet e ndërfaqes, kufizimet e performancës (të tilla si koha e përgjigjes, siguria, hapësira e ruajtjes, etj.), kufizimet e funksionimit, kufizimet e ciklit të jetës (mirëmbajtja, portabilitet, etj.) dhe kufizimet ekonomike. Njohuria se si funksionon sistemi ose softueri është e nevojshme kur bëhet fjalë për specifikimin e kërkesave jofunksionale. Kërkesat e fushës kanë të bëjnë me karakteristikat e një kategorie ose domeni të caktuar projektesh.<ref>{{Cite web |date=2018-06-19 |title=Software Engineering {{!}} Classification of Software Requirements |url=https://www.geeksforgeeks.org/software-engineering-classification-of-software-requirements/ |access-date=2021-05-06 |website=GeeksforGeeks |language=en-us}}</ref>
=== Dizajni ===
[[Dizajnimi i softuerit|Dizajni i softuerit]] është procesi i krijimit të planeve të nivelit të lartë për softuerin. Dizajni ndonjëherë ndahet në nivele:
* Dizajni i ndërfaqes planifikon ndërveprimin midis një sistemi dhe mjedisit të tij, si dhe funksionimin e brendshëm të sistemit.
* Dizajni arkitektonik planifikon komponentët kryesorë të një sistemi, duke përfshirë përgjegjësitë e tyre, vetitë dhe ndërfaqet ndërmjet tyre.
* Planet e detajuara të projektimit të elementeve të brendshëm, duke përfshirë vetitë, marrëdhëniet, [[Algoritmi|algoritmet]] dhe [[Struktura e të dhënave|strukturat e të dhënave]] të tyre.<ref>{{Cite web |date=2019-05-24 |title=Software Engineering {{!}} Software Design Process |url=https://www.geeksforgeeks.org/software-engineering-software-design-process/ |access-date=2021-05-06 |website=GeeksforGeeks |language=en-us}}</ref>
=== Ndërtimi ===
Ndërtimi i softuerit zakonisht përfshin [[Programimi kompjuterik|programimin]] (a.k.a. kodimi), testimin e njësisë, testimin e integrimit dhe korrigjimin në mënyrë që të zbatohet dizajni.<ref name="BoDu04" /> "Testimi i softuerit është i lidhur, por i ndryshëm nga … korrigjimi". Testimi gjatë kësaj faze në përgjithësi kryhet nga programuesi dhe me qëllim të verifikimit që kodi sillet siç është projektuar dhe për të ditur se kur kodi është gati për nivelin e ardhshëm të testimit.
<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[ ''[[wikipedia:Citim i duhur|<span title="This claim needs references to reliable sources. (May 2023)">citim i nevojshëm</span>]]'' ]</sup>
=== Testimi ===
[[Testimi i softuerit]] është një hetim empirik, teknik i kryer për t'u ofruar palëve të interesuara informacion në lidhje me cilësinë e softuerit në provë.<ref name="BoDu04" />
Kur përshkruhet veçmas nga ndërtimi, testimi zakonisht kryhet nga inxhinierë testimi ose sigurimi i cilësisë në vend të programuesve që e kanë shkruar atë. Ai kryhet në nivel sistemi dhe konsiderohet një aspekt i cilësisë së softuerit.
=== Analiza e programit ===
Analiza e programit është procesi i analizimit të programeve kompjuterike në lidhje me një aspekt të tillë si performanca, qëndrueshmëria dhe siguria.
=== Mirëmbajtja ===
[[Mirëmbajtja e softuerit]] i referohet mbështetjes së softuerit pas lëshimit. Mund të përfshij, por nuk kufizohet në: korrigjimin e gabimeve, optimizimin, fshirjen e veçorive të papërdorura dhe të hedhura, dhe përmirësimin e veçorive ekzistuese.<ref name="BoDu04">{{Harvnb|Abran|Moore|Bourque|Dupuis|2004}}</ref>
Zakonisht, mirëmbajtja zë 40% deri në 80% të kostos së projektit.<ref>{{Cite web |title=What is Software Maintenance? Definition of Software Maintenance, Software Maintenance Meaning |url=https://economictimes.indiatimes.com/definition/software-maintenance |access-date=2021-05-06 |website=The Economic Times|language=en}}</ref>
== Arsimi ==
Njohja e [[Programimi kompjuterik|programimit kompjuterik]] është një parakusht për t'u bërë inxhinier softuerësh. Në vitin 2004, Shoqëria Kompjuterike IEEE prodhoi SWEBOK, i cili është botuar si Raport Teknik ISO/IEC 1979:2005, duke përshkruar tërësinë e njohurive që ata rekomandojnë të zotërohen nga një inxhinier i diplomuar softuerësh me përvojë katërvjeçare.<ref>{{Cite book |url=http://www.computer.org/portal/web/swebok |title=Guide to the Software Engineering Body of Knowledge |date=2005 |publisher=[[IEEE Computer Society]] |editor-last=Alain Abran |chapter=Chapter 1: Introduction to the Guide |quote=The total volume of cited literature is intended to be suitable for mastery through the completion of an undergraduate education plus four years of experience. |access-date=2010-09-13 |editor-last2=James W. Moore |editor-last3=Pierre Bourque |editor-last4=Robert Dupuis |editor-last5=Leonard L. Tripp |chapter-url=http://www.computer.org/portal/web/swebok/html/ch1 |archive-url=https://web.archive.org/web/20160509154355/https://www.computer.org/portal/web/swebok |archive-date=2016-05-09 |url-status=dead|language=en}}</ref> Shumë inxhinierë softuerësh hyjnë në profesion duke marrë një diplomë universitare ose duke u trajnuar në një shkollë profesionale. Një kurrikul standarde ndërkombëtare për diploma universitare të inxhinierisë softuerike u përcaktua nga Task Forca e Përbashkët për Kurrikulat e Informatikës së Shoqërisë Kompjuterike IEEE dhe Shoqatës për Makineri Kompjuterike dhe u përditësua në 2014.<ref name="se2014" /> Një numër universitetesh kanë programe të diplomës për Inxhinieri Softuerësh; {{As of|2010}}, kishte 244 programe në kampus Bachelor të Inxhinierisë Softuerike, 70 programe Online, 230 programe të nivelit Master, 41 programe të nivelit të doktoraturës dhe 69 programe të nivelit të certifikatës në Shtetet e Bashkuara.
Përveç arsimit universitar, shumë kompani sponsorizojnë praktika për studentët që dëshirojnë të ndjekin karrierë në teknologjinë e informacionit. Këto praktika mund ta prezantojnë studentin me detyrat e botës reale që inxhinierët tipik të softuerit hasin çdo ditë. Përvoja e ngjashme mund të fitohet përmes [[Shërbimi ushtarak|shërbimit ushtarak]] në inxhinieri softuerike.
=== Programet e diplomës për inxhinieri softuerike ===
Gjysma e të gjithë praktikuesve sot kanë diploma në [[shkenca kompjuterike]], [[Sistemi i informacionit|sisteme informacioni]] ose [[Teknologjia e informacionit|teknologji informacioni]] .{{Citim i duhur|date=February 2007}}<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[ ''[[wikipedia:Citim i duhur|<span title="This claim needs references to reliable sources. (February 2007)">citim i nevojshëm</span>]]'' ]</sup> Një numër i vogël, por në rritje i praktikantëve kanë diploma të inxhinierisë softuerike. Në vitin 1987, Departamenti i Informatikës në Imperial College London prezantoi [[Baçelori|diplomën]] e parë trevjeçare në botë për inxhinieri softuerike; në vitin e ardhshëm, Universiteti i Sheffield krijoi një program të ngjashëm. Në vitin 1996, Instituti i Teknologjisë Rochester themeloi programin e parë të diplomës për inxhinieri softuerike në Shtetet e Bashkuara; megjithatë, ajo nuk mori akreditimin ABET deri në vitin 2003, të njëjtin vit me Universitetin Rice, Universitetin Clarkson, Shkollën e Inxhinierisë Milwaukee dhe Universitetin Shtetëror të Mississippi .<ref name="ABETACCRED1">{{Cite web |date=April 3, 2007 |title=ABET Accredited Engineering Programs |url=http://www.abet.org/accrediteac.asp |url-status=dead |archive-url=https://web.archive.org/web/20100619233414/http://abet.org/accrediteac.asp |archive-date=June 19, 2010 |access-date=April 3, 2007|language=en}}</ref> Në vitin 1997, Kolegji i Teknologjisë PSG në Coimbatore, Indi ishte i pari që filloi një diplomë pesëvjeçare të integruar Master Shkencor në Inxhinieri Softuerësh.{{Citim i duhur|date=May 2012}}
Që atëherë, diploma universitare të inxhinierisë softuerike janë krijuar në shumë universitete. Një kurrikulë standarde ndërkombëtare për diploma universitare të inxhinierisë softuerike, SE2004, u përcaktua nga një komitet drejtues midis 2001 dhe 2004 me financim nga Shoqata për Makineri Kompjuterike dhe Shoqëria Kompjuterike IEEE . {{As of|2004}}, rreth 50 universitete në SHBA ofrojnë diploma të inxhinierisë softuerike, të cilat mësojnë parimet dhe praktikat e shkencave kompjuterike dhe inxhinierisë. [[Master|Diploma e parë master]] në inxhinieri softuerike u krijua në Universitetin e Seattle në 1979. Që atëherë, diploma të diplomuara për inxhinieri softuerike janë vënë në dispozicion nga shumë universitete të tjera. Po kështu në Kanada, Bordi Kanadez i Akreditimit të Inxhinierisë (CEAB) i Këshillit Kanadez të Inxhinierëve Profesionistë ka njohur disa programe të inxhinierisë softuerike.
Në vitin 1998, Shkolla Postdiplomike Detare e SHBA-së (NPS) themeloi programin e parë [[Doktorati|të doktoraturës]] në Inxhinieri Softuerike në botë.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[ ''[[wikipedia:Citim i duhur|<span title="This claim needs references to reliable sources. (June 2007)">citim i nevojshëm</span>]]'' ]</sup> Për më tepër, shumë diploma të avancuara në internet në Inxhinieri Softuerësh janë shfaqur si diploma Master i Shkencave në Inxhinieri Softuerësh (MSE) e ofruar përmes Departamentit të Shkencave Kompjuterike dhe Inxhinierisë në Universitetin Shtetëror të Kalifornisë, Fullerton . Steve McConnell mendon se për shkak se shumica e universiteteve mësojnë shkenca kompjuterike në vend të inxhinierisë softuerike, ka mungesë të inxhinierëve të vërtetë softuerësh. Universiteti ETS (École de technologie supérieure) dhe UQAM (Université du Québec à Montréal) u mandatuan nga IEEE për të zhvilluar Trupin e Njohurive të Inxhinierisë së Softuerit ( SWEBOK ), i cili është bërë një standard ISO që përshkruan trupin e njohurive të mbuluara nga një inxhinier softuerësh.<ref name="swebokVol3">{{Cite book |url=https://www.computer.org/web/swebok/v3 |title=Guide to the Software Engineering Body of Knowledge Version 3.0 (SWEBOK) |date=2014 |publisher=[[IEEE Computer Society]] |editor-last=Bourque |editor-first=Pierre |editor-last2=Fairley |editor-first2=Richard E. (Dick)|language=en}}</ref>
== Profesioni ==
Kërkesat [[Ligji|ligjore]] për licencimin ose certifikimin e inxhinierëve profesionistë të softuerit ndryshojnë në mbarë botën. Në MB, nuk ka asnjë kërkesë licencimi ose ligjore për të marrë ose përdorur titullin e punës së inxhinierëve të softuerit. Në disa zona të Kanadasë, si Alberta, British Columbia, Ontario, dhe Quebec, inxhinierët e softuerit mund të mbajnë përcaktimin Professional Engineer (P.Eng) dhe/ose përcaktimin Professional i Sistemeve të Informacionit (ISP). Në Evropë, Inxhinierët e Softuerit mund të marrin titullin profesional Inxhinier Evropian (EUR ING). Inxhinierët e Softuerit gjithashtu mund të kualifikohen profesionalisht si Inxhinier i Kartës përmes Shoqërisë Britanike të Kompjuterëve.
Në Shtetet e Bashkuara, NCEES filloi të ofroj një provim Inxhinieri Profesional për Inxhinieri Softuerësh në 2013, duke lejuar kështu që Inxhinierët e Softuerit të licencohen dhe të njihen.<ref>{{Cite web |title=NCEES Software Engineering Exam Specifications |url=http://cdn1.ncees.co/wp-content/uploads/2012/11/Exam-specifications_PE-Software-Apr-2013.pdf |url-status=dead |archive-url=https://web.archive.org/web/20130827220334/http://cdn1.ncees.co/wp-content/uploads/2012/11/Exam-specifications_PE-Software-Apr-2013.pdf |archive-date=2013-08-27 |access-date=2012-04-01|language=en}}</ref> NCEES përfundoi provimin pas prillit 2019 për shkak të mungesës së pjesëmarrjes.<ref>{{Cite web |date=13 March 2018 |title=NCEES discontinuing PE Software Engineering exam |url=https://ncees.org/ncees-discontinuing-pe-software-engineering-exam/ |access-date=6 August 2018 |publisher=National Council of Examiners for Engineering and Surveying|language=en}}</ref> Licencimi i detyrueshëm aktualisht është ende i debatuar gjerësisht dhe perceptohet si i diskutueshëm.<ref name="BarbaraSimons">{{Cite web |last=Barbara Simons |title=Past ACM Presidents Reflect on Their Service to ACM |url=https://www.acm.org/75th-anniversary/past-presidents/barbara-simons |access-date=May 18, 2024 |series=Celebrating 75 Years of Advancing Computing as a Science & Profession |publisher=[[Association for Computing Machinery]] |quote=After the panels’ recommendations were submitted, ACM Council concluded that the framework of a licensed professional engineer, originally developed for civil engineers, does not match the professional industrial practice of software engineering and would preclude many of the most qualified software engineers from becoming licensed.|language=en}}</ref><ref name="KnightLeveson">{{Cite journal |last=John C. Knight |last2=Nancy G. Leveson |date=November 1, 2002 |title=Should software engineers be licensed? |journal=[[Communications of the ACM]] |volume=45 |issue=11 |pages=87–90 |doi=10.1145/581571.581601|language=en}}</ref>
Shoqëria e Kompjuterëve IEEE dhe ACM, dy organizatat kryesore profesionale me bazë në SHBA të inxhinierisë softuerike, publikojnë udhëzues për profesionin e inxhinierisë softuerike. ''Udhëzuesi i IEEE për Trupin e Njohurive të Inxhinierisë Softuerike – Versioni 2004'', ose SWEBOK, përcakton fushën dhe përshkruan njohuritë që IEEE pret që një inxhinier softuerësh praktikues të ketë. Versioni më aktual është SWEBOK v4.<ref>{{Cite book |url=https://www.computer.org/web/swebok/v3 |title=Guide to the Software Engineering Body of Knowledge Version 3.0 (SWEBOK) |date=2014 |publisher=[[IEEE Computer Society]] |editor-last=Bourque |editor-first=Pierre |editor-last2=Fairley |editor-first2=Richard E. (Dick)|language=en}}</ref> IEEE gjithashtu shpall një "Kodi i Etikës së Inxhinierisë Softuerike".<ref>{{Cite web |title=''Software Engineering Code of Ethics'' |url=http://www.computer.org/cms/Computer.org/Publications/code-of-ethics.pdf |access-date=2012-03-25|language=en}}</ref>
=== Punësimi ===
Ka rreth 26.9 milionë inxhinierë profesionistë softuerësh në botë që nga viti 2022, nga 21 milionë në 2016.<ref name="2022-numbers">{{Cite web |last=Labs |first=Qubit |date=29 November 2022 |title=How Many Programmers are there in the World and in the US? [2023] |url=https://qubit-labs.com/how-many-programmers-in-the-world/ |access-date=7 February 2023 |website=Qubit Labs|language=en}}</ref><ref name="SO2016">{{Cite web |last= |first= |date= |title=Global Developer Population and Demographic Study 2016 V2 |url=http://evansdata.com/reports/viewRelease.php?reportID=9 |access-date=19 January 2017 |website= |publisher=[[Evans Data Corporation]]|language=en}}</ref>
Shumë inxhinierë softuerësh punojnë si punonjës ose kontraktorë. Inxhinierët e softuerit punojnë me biznese, agjenci qeveritare (civile ose ushtarake) dhe organizata jofitimprurëse. Disa inxhinierë softuerësh punojnë për veten e tyre si përkthyes të pavarur . Disa organizata kanë specialistë për të kryer secilën nga detyrat në [[Zhvillimi i softuerit|procesin e zhvillimit të softuerit]] . Organizatat e tjera kërkojnë që inxhinierët e softuerit të bëjnë shumë ose të gjitha. Në projektet e mëdha, njerëzit mund të specializohen vetëm në një rol. Në projekte të vogla, njerëzit mund të plotësojnë disa ose të gjitha rolet në të njëjtën kohë. Shumë kompani punësojnë praktikantë, shpesh studentë të universitetit ose kolegjit gjatë një pushimi veror, ose të jashtëm. Specializimet përfshijnë [[Analiza e kërkesave|analistët]], arkitektët, [[Procesi i zhvillimit të softuerit|zhvilluesit]], [[Testimi i softuerit|testuesit]], mbështetjen teknike, analistët e programeve të mesme, [[Menaxhimi i Projektit|menaxherët e projekteve]], menaxherët e produkteve softuerike, [[Mësuesi|edukatorët]] dhe [[Hulumtimi|studiuesit]] .
Shumica e inxhinierëve dhe programuesve të softuerit punojnë 40 orë në javë, por rreth 15% e inxhinierëve të softuerit dhe 11% e programuesve punonin më shumë se 50 orë në javë në vitin 2008.<ref name="bloomberg2020">{{Cite web |last=Rosenthal |first=Rachel |date=August 4, 2020 |title=Tech Companies Want You to Believe America Has a Skills Gap |url=https://www.bloomberg.com/opinion/articles/2020-08-04/big-tech-wants-you-to-believe-america-has-a-skills-gap |access-date=October 8, 2021 |website=Bloomberg|language=en}}</ref> Lëndimet e mundshme në këto profesione janë të mundshme, sepse ashtu si punëtorët e tjerë që kalojnë periudha të gjata të ulur para një terminali kompjuteri duke shtypur në tastierë, inxhinierët dhe programuesit janë të ndjeshëm ndaj tendosjes së syve, shqetësimit të shpinës, trombozës, [[Mbipesha|obezitetit]] dhe problemeve të duarve dhe kyçeve të kyçit të dorës sindromi i tunelit.<ref>{{Cite web |title=Computer Software Engineers and Computer Programmers |url=http://www.bls.gov/oco/ocos303.htm#training |access-date=2009-12-17|language=en}}</ref>
==== Shtetet e Bashkuara ====
Byroja Amerikane e Statistikave të Punës (BLS) numëroi 1,365,500 zhvillues softuerësh që mbanin punë në [[Shtetet e Bashkuara të Amerikës|SHBA]] në 2018.<ref>{{Cite web |date=4 September 2019 |title=Software Developers |url=https://www.bls.gov/ooh/computer-and-information-technology/software-developers.htm |access-date=11 December 2019 |website=Occupational Outlook Handbook |publisher=U. S. Bureau of labor Statistics|language=en}}</ref> Për shkak të risive të tij relative si fushë studimi, arsimi formal në inxhinierinë e softuerit shpesh mësohet si pjesë e një kurrikule të shkencave kompjuterike dhe shumë inxhinierë softuerësh mbajnë diploma të shkencave kompjuterike.<ref>{{Cite web |title=Computing Disciplines and Majors |url=https://www.acm.org/binaries/content/assets/education/computing-disciplines.pdf |access-date=6 September 2019 |publisher=[[Association for Computing Machinery]]|language=en}}</ref> BLS vlerëson nga viti 2023 në 2033 se inxhinieria e softuerit kompjuterik do të rritet me 17%.<ref name="softdev">{{Cite web |title=Software Developers: Occupational Outlook Handbook |url=http://www.bls.gov/ooh/computer-and-information-technology/software-developers.htm |publisher=U.S. Bureau of Labor Statistics|language=en}}</ref> Kjo është më pak nga vlerësimi i BLS nga 2022 në 2032 prej 25% për inxhinierinë e softuerit.<ref name="softdev" /><ref name="C.S.E.">{{Cite web |date=March 19, 2010 |title=Computer Software Engineer |url=http://www.bls.gov/k12/computers04.htm |archive-url=https://web.archive.org/web/20130726002354/http://www.bls.gov/k12/computers04.htm |archive-date=July 26, 2013 |access-date=July 20, 2012 |publisher=Bureau of Labor Statistics|language=en}}</ref> Dhe, është më poshtë nga vlerësimi i tyre 30% 2010 deri në 2020 BLS.<ref name="CSE2">{{Cite web |date=January 8, 2014 |title=Software Developers |url=http://www.bls.gov/ooh/computer-and-information-technology/software-developers.htm |access-date=July 21, 2012 |publisher=Bureau of Labor Statistics|language=en}}</ref> Për shkak të kësaj tendence, rritja e vendeve të punës mund të mos jetë aq e shpejtë sa gjatë dekadës së fundit, pasi punët që do të kishin shkuar për inxhinierët e softuerëve kompjuterikë në Shtetet e Bashkuara, në vend të kësaj do t'u jepeshin inxhinierëve të programeve kompjuterike në vende të tilla si India dhe vende të tjera të huaja.<ref name="bls.gov">{{Cite web |title=Computer Programmers : Occupational Outlook Handbook: : U.S. Bureau of Labor Statistics |url=https://www.bls.gov/ooh/computer-and-information-technology/computer-programmers.htm |url-status=live |archive-url=https://web.archive.org/web/20190503144645/https://www.bls.gov/ooh/computer-and-information-technology/computer-programmers.htm |archive-date=3 May 2019 |access-date=17 January 2017|language=en}}</ref><ref name="bloomberg2020" /> Përveç kësaj, BLS Job Outlook për Programuesit Kompjuterikë, Byroja e Statistikave të Punës në SHBA (BLS) Occupational Outlook parashikon një rënie prej -7% nga 2016 në 2026, një rënie të mëtejshme prej -9% nga 2019 në 2029, një rënie prej – 10% nga 2021 në 2031.<ref name="bls.gov" /> dhe më pas një rënie prej -11% nga 2022 në 2032.<ref name="bls.gov" /> Meqenëse programimi kompjuterik mund të bëhet nga kudo në botë, kompanitë ndonjëherë punësojnë programues në vende ku pagat janë më të ulëta.<ref name="bls.gov" /><ref>{{Cite web |title=Archive By Publication : Beyond the Numbers: U.S. Bureau of Labor Statistics |url=https://www.bls.gov/opub/btn/archive/publication.htm#regional-reports |website=www.bls.gov|language=en}}</ref><ref>{{Cite web |date=May 10, 2018 |title=The Soon-to-Be-Extinct Embedded Software Engineer |url=https://www.designnews.com/design-hardware-software/soon-be-extinct-embedded-software-engineer |website=designnews.com|language=en}}</ref> Për më tepër, raporti i grave në shumë fusha softuerike ka qenë gjithashtu në rënie gjatë viteve në krahasim me fusha të tjera inxhinierike.<ref>{{Cite web |title=hp's Developer Portal | HP International Women's Week: Women in Computer Science dropping since 1980s |url=https://developers.hp.com/public/blog/hp-international-womens-week-women-computer-science-dropping-1980s |website=developers.hp.com|language=en}}</ref> Pastaj ekziston shqetësimi shtesë se përparimet e fundit në [[Inteligjenca artificiale|Inteligjencën Artificiale]] mund të ndikojnë në kërkesën për gjeneratat e ardhshme të Inxhinierëve të Softuerit.<ref>{{Cite web |date=2023-04-06 |title=Software engineer jobs in danger due to ChatGPT-like tools? Here's what Google CEO Sundar Pichai has to say |url=https://www.businesstoday.in/technology/news/story/software-engineer-jobs-in-danger-due-to-chatgpt-like-tools-heres-what-google-ceo-sundar-pichai-has-to-say-376341-2023-04-06 |access-date=2023-05-12 |website=Business Today |language=en}}</ref><ref>{{Cite web |last= |first= |last2= |first2= |last3= |first3= |date=2023-01-25 |title=ChatGPT could make these jobs obsolete |url=https://nypost.com/2023/01/25/chat-gpt-could-make-these-jobs-obsolete/ |access-date=2023-05-12 |language=en-US}}</ref><ref>{{Cite web |last=Kay |first=Grace |title=Software engineers are panicking about being replaced by AI |url=https://www.businessinsider.com/software-engineers-tech-panicking-golden-age-over-chatgpt-ai-blind-2023-4 |access-date=2023-05-12 |website=Business Insider |language=en-US}}</ref><ref>{{Cite web |last=Fowler |first=Gary |title=Council Post: How Will ChatGPT Affect Jobs? |url=https://www.forbes.com/sites/forbesbusinessdevelopmentcouncil/2023/03/16/how-will-chatgpt-affect-jobs/ |access-date=2023-05-12 |website=Forbes |language=en}}</ref><ref>{{Cite web |last=Ito |first=Aki |title=ChatGPT spells the end of coding as we know it |url=https://www.businessinsider.com/chatgpt-ai-technology-end-of-coding-software-developers-jobs-2023-4 |access-date=2023-05-12 |website=Business Insider |language=en-US}}</ref><ref>{{Cite web |last=Zinkula |first=Aaron Mok, Jacob |title=ChatGPT may be coming for our jobs. Here are the 10 roles that AI is most likely to replace. |url=https://www.businessinsider.com/chatgpt-jobs-at-risk-replacement-artificial-intelligence-ai-labor-trends-2023-02 |access-date=2023-05-12 |website=Business Insider |language=en-US}}</ref><ref>{{Cite web |last=Cohen |first=Mikaela |date=15 April 2023 |title=These are the tech jobs most threatened by ChatGPT and A.I. |url=https://www.cnbc.com/2023/04/15/these-are-the-tech-jobs-most-threatened-by-chatgpt-and-ai.html |access-date=2023-05-12 |website=CNBC |language=en}}</ref> Megjithatë, kjo prirje mund të ndryshoj ose të ngadalësohet në të ardhmen pasi shumë inxhinierë aktualë të softuerit në tregun amerikan ikin nga profesioni ose plaken nga tregu në dekadat e ardhshme.<ref name="bls.gov" />
=== Certifikimi ===
Instituti i Inxhinierisë së Softuerit ofron çertifikime për tema specifike si [[Siguria kibernetike|siguria]], përmirësimi i procesit dhe arkitektura e softuerit .<ref>{{Cite web |title=SEI certification page |url=http://www.sei.cmu.edu/certification/ |access-date=2012-03-25 |publisher=Sei.cmu.edu|language=en}}</ref> IBM, Microsoft dhe kompani të tjera gjithashtu sponsorizojnë provimet e tyre të certifikimit. Shumë programe të certifikimit [[Teknologjia e informacionit|të TI-së]] janë të orientuara drejt teknologjive specifike dhe menaxhohen nga shitësit e këtyre teknologjive.<ref>{{Cite web |last=Wyrostek |first=Warren |date=March 14, 2008 |title=The Top 10 Problems with IT Certification in 2008 |url=http://www.informit.com/articles/article.aspx?p=1180991 |access-date=2009-03-03 |website=InformIT|language=en}}</ref> Këto programe certifikimi janë të përshtatura për institucionet që do të punësonin njerëz që përdorin këto teknologji.
Në Mbretërinë e Bashkuar Britanike, Shoqëria Britanike e Kompjuterëve ka zhvilluar një certifikim profesional të njohur ligjërisht të quajtur ''Chartered IT Professional (CITP)'', i disponueshëm për anëtarët plotësisht të kualifikuar ( ''MBCS'' ). Inxhinierët e softuerit mund të kualifikohen për anëtarësim në Shoqërinë Britanike të Kompjuterëve ose Institucionin e Inxhinierisë dhe Teknologjisë dhe kështu të kualifikohen për t'u konsideruar për statusin e Inxhinierit të Kartës përmes secilit prej këtyre institucioneve. Në Kanada, Shoqëria Kanadeze e Përpunimit të Informacionit ka zhvilluar një certifikim profesional të njohur ligjërisht të quajtur ''Informativ Systems Professional (ISP)'' .<ref>{{Cite web |last=Canadian Information Processing Society |title=I.S.P. Designation |url=http://www.cips.ca/standards/isp |access-date=2007-03-15|language=en}}</ref> Në Ontario, Kanada, Inxhinierët e Softuerit që diplomohen nga një program i akredituar ''i Bordit Kanadez të Akreditimit të Inxhinierisë (CEAB)'', përfundojnë me sukses Provimin e Praktikës Profesionale të PEO ( ''Professional Engineers Ontario'' ) (PPE) dhe kanë të paktën 48 muaj përvojë të pranueshme inxhinierike, kanë të drejtë të licencohen përmes ''Inxhinierëve Profesionistë në Ontario'' dhe mund të bëhen Inxhinierë Profesionistë P. Ing.<ref>{{Cite web |title=Professional Engineers Ontario: Welcome to PEO's website |url=http://www.peo.on.ca |access-date=2012-03-25 |publisher=Peo.on.ca|language=en}}</ref> Megjithatë, PEO nuk njeh asnjë edukim online ose në distancë; dhe nuk i konsideron programet e Shkencave Kompjuterike si ekuivalente me programet e inxhinierisë softuerike pavarësisht nga mbivendosja e jashtëzakonshme midis të dyjave. Kjo ka ndezur polemika dhe një luftë certifikimi. Gjithashtu ka mbajtur jashtëzakonisht të ulët numrin e mbajtësve të P.Eng për këtë profesion. Shumica dërrmuese e profesionistëve që punojnë në këtë fushë kanë një diplomë në CS, jo në SE. Duke pasur parasysh rrugën e vështirë të certifikimit për mbajtësit e diplomave jo-SE, shumica nuk shqetësohen kurrë për të ndjekur licencën.
=== Ndikimi i globalizimit ===
Ndikimi fillestar i kontraktimit dhe kostoja relativisht më e ulët e burimeve njerëzore ndërkombëtare në vendet në zhvillim të botës së tretë çoi në një migrim masiv të aktiviteteve të zhvillimit të softuerit nga korporatat në Amerikën e Veriut dhe Evropë në Indi dhe më vonë: Kina, Rusia dhe vende të tjera në zhvillim. Kjo qasje kishte disa të meta, kryesisht diferenca e distancës/zonës kohore që pengoi ndërveprimin njerëzor midis klientëve dhe zhvilluesve dhe transferimin masiv të punës. Kjo pati një ndikim negativ në shumë aspekte të profesionit të inxhinierisë softuerike. Për shembull, disa studentë në [[Shtetet e zhvilluara|botën e zhvilluar]] shmangin arsimin në lidhje me inxhinierinë softuerike për shkak të frikës së kontraktimit në det të hapur (importimi i produkteve ose shërbimeve softuerike nga vende të tjera) dhe për t'u zhvendosur nga punëtorët e huaj të vizave .<ref>{{Cite web |last=Thibodaux |first=Patrick |date=2006-05-05 |title=As outsourcing gathers steam, computer science interest wanes |url=http://www.computerworld.com/article/2555175/it-careers/as-outsourcing-gathers-steam--computer-science-interest-wanes.html |access-date=2016-12-06 |publisher=Computerworld.com|language=en}}</ref> Megjithëse statistikat aktualisht nuk tregojnë një kërcënim për vetë inxhinierinë e softuerit; një karrierë e lidhur, [[programimi kompjuterik]] duket se është prekur.<ref>{{Cite web |last=Robert Mullins |date=March 13, 2007 |title=Software developer growth slows in North America: Study shows Asia will lead in software developer jobs by 2010 |url=https://www.infoworld.com/article/2660992/software-developer-growth-slows-in-north-america.html |website=InfoWorld |series=Software Development|language=en}}</ref> Megjithatë, aftësia për të shfrytëzuar me zgjuarsi burimet në det të hapur dhe afër bregut nëpërmjet rrjedhës së punës pas diellit ka përmirësuar aftësinë e përgjithshme operacionale të shumë organizatave.<ref>{{Cite web |title=Gartner Magic Quadrant |url=http://www.cognizant.com/html/content/news/GartnerMQ_Cognizant.pdf |access-date=2012-03-25 |publisher=Cognizant.com|language=en}}</ref> Kur amerikanët e veriut largohen nga puna, aziatikët sapo vijnë në punë. Kur aziatikët largohen nga puna, evropianët vijnë në punë. Kjo siguron një aftësi të vazhdueshme për të pasur mbikëqyrje njerëzore mbi proceset kritike për biznesin 24 orë në ditë, pa paguar kompensim jashtë orarit ose pa ndërprerë një burim kryesor njerëzor, modelet e gjumit.
Ndërsa kontraktimi global ka disa avantazhe, zhvillimi global – dhe përgjithësisht i shpërndarë – mund të përballet me vështirësi serioze që rrjedhin nga distanca midis zhvilluesve. Kjo është për shkak të elementeve kyç të kësaj distancë, të cilat janë identifikuar si gjeografike, kohore, kulturore dhe komunikuese (që përfshin përdorimin e gjuhëve dhe dialekteve të ndryshme të anglishtes në vende të ndryshme).<ref>{{cite journal |last=Casey |first=Valentine |date=2010-08-20 |title=Virtual software team project management |url=http://eprints.dkit.ie/116/1/VCaseyRevisedVersion.doc |journal=Journal of the Brazilian Computer Society |volume=16 |issue=2 |pages=83–96 |doi=10.1007/s13173-010-0013-3 |doi-access=free |s2cid=14383734|language=en}}</ref> Kërkime janë kryer në fushën e zhvillimit global të softuerit gjatë 15 viteve të fundit dhe është botuar një trup i gjerë punimesh përkatëse që theksojnë përfitimet dhe problemet që lidhen me këtë aktivitet kompleks. Ashtu si me aspektet e tjera të inxhinierisë softuerike, kërkimet janë në vazhdim në këtë dhe fusha të lidhura.
=== Çmimet ===
Ka çmime të ndryshme në fushën e inxhinierisë softuerike
* Çmimi [[:en:ACM-AAAI Allen Newell Award|ACM-AAAI Allen Newell]] – SHBA. Ky çmim jepet për kontributet gjatë karrierës që kanë gjerësi brenda shkencave kompjuterike, ose që lidhin shkencat kompjuterike me disiplina të tjera. Çmimi [[:en:BCS Lovelace Medal|BCS Lovelace]]. Ky çmim jepet për individët që kanë dhënë kontribute të jashtëzakonshme në kuptimin ose përparimin e fushës së informatikës. Çmimi [[:en:ACM SIGSOFT|ACM SIGSOFT]] për Kërkime të Shkëlqyera, jepet për individë që kanë bërë "kontribute kërkimore të rëndësishme dhe të qëndrueshme në [[:en:Theory|teorinë]]<nowiki/>në ose [[:en:Empirical research|praktikë]] e inxhinierisë softuerike."<ref>{{cite web |title=Outstanding Research Award |url=https://www2.sigsoft.org/awards/outstandingresearch |access-date=1 April 2024 |website=[[ACM SIGSOFT|SIGSOFT]]|language=en}}</ref>
* Më shumë Çmime ACM SIGSOFT.<ref>{{Cite web |last=David Lo ([[ACM SIGSOFT|SIGSOFT]] Awards Chair) |last2=Thomas Zimmermann ([[ACM SIGSOFT|SIGSOFT]] Chair) |date=17 January 2024 |title=SIGSOFT Awards 2024 |url=https://sigsoft.medium.com/sigsoft-awards-2024-ce34b9ee23a6 |access-date=1 April 2024 |website=[[ACM SIGSOFT]] Blog|language=en}}</ref>
* Çmimi Codie, një çmim vjetor i lëshuar nga Shoqata e Industrisë së Softuerit dhe Informacionit për përsosmërinë në zhvillimin e softuerit brenda industrisë së softuerit.
* Çmimin Harlan Mills për "kontributet në teorinë dhe praktikën e shkencave të informacionit, të fokusuara në inxhinierinë e softuerit".
* Çmimi i letrës më me ndikim ICSE.<ref>{{Cite web |title=ICSE Most Influential Paper Award |url=https://www.sigsoft.org/awards/icseMIPAward.html |publisher=[[ACM SIGSOFT]]|language=en}}</ref>
* Çmimi Jolt, gjithashtu për industrinë e softuerit.
* Çmimi Stevens dhënë në kujtim të Wayne Stevens.
== Kritika ==
Disa kërkojnë licencimin, certifikimin dhe krijimin e grupeve të njohurive të kodifikuara si mekanizma për të shpërndarë njohuritë inxhinierike dhe për të avancuar fushën.
Disa pretendojnë se koncepti i inxhinierisë së softuerit është kaq i ri saqë shpesh kuptohet gabimisht, dhe interpretohet gabim gjerësisht, përfshirë në librat shkollorë të inxhinierisë së softuerit, artikuj dhe midis komuniteteve të programuesve dhe mjeshtrave.
Disa pretendojnë se një çështje thelbësore me inxhinierinë e softuerit është se qasjet e saj nuk janë mjaft empirike, pasi verifikimi i këtyre qasjeve në botën reale është zakonisht i munguar ose shumë i kufizuar, dhe për këtë arsye inxhinieria e softuerit shpesh interpretohet gabimisht si diçka e mundshme vetëm në një "mjedis teorik."
== Shihni gjithashtu ==
=== Studioni dhe praktikoni ===
* [[Shkenca kompjuterike]]
* Inxhinieri e të dhënave
* Mjeshtëri me softuer
* [[Procesi i zhvillimit të softuerit|Zhvillimi i softuerit]]
* Inxhinieria e lëshimit
=== Rolet ===
* [[Programues]]
* Analist i sistemeve
* Arkitekt i sistemeve
=== Aspektet profesionale ===
* Bachelor i Shkencave në Teknologjinë e Informacionit
* Bachelor në Inxhinieri Software
* Lista e konferencave të inxhinierisë softuerike
* Lista e revistave të shkencave kompjuterike (duke përfshirë revistat e inxhinierisë softuerike)
* Instituti i Inxhinierisë Softuerike
== Referimet ==
{{Reflist|2}}
{{Inxhinieria Softuerike}}
|