What Every Engineer Should Know about Software Engineering (每位工程師應該知道的軟體工程知識)
Laplante, Phillip A., Kassab, Mohamad
相關主題
商品描述
This book offers a practical approach to understanding, designing, and building sound software based on solid principles. Using a unique Q&A format, this book addresses the issues that engineers need to understand in order to successfully work with software engineers, develop specifications for quality software, and learn the basics of the most common programming languages, development approaches, and paradigms. The new edition is thoroughly updated to improve the pedagogical flow and emphasize new software engineering processes, practices, and tools that have emerged in every software engineering area.
Features:
- Defines concepts and processes of software and software development, such as agile processes, requirements engineering, and software architecture, design, and construction.
- Uncovers and answers various misconceptions about the software development process and presents an up-to-date reflection on the state of practice in the industry.
- Details how non-software engineers can better communicate their needs to software engineers and more effectively participate in design and testing to ultimately lower software development and maintenance costs.
- Helps answer the question: How can I better leverage embedded software in my design?
- Adds new chapters and sections on software architecture, software engineering and systems, and software engineering and disruptive technologies, as well as information on cybersecurity.
- Features new appendices that describe a sample automation system, covering software requirements, architecture, and design.
This book is aimed at a wide range of engineers across many disciplines who work with software.
商品描述(中文翻譯)
本書提供了一種實用的方法來理解、設計和構建基於堅實原則的可靠軟體。通過獨特的問答形式,本書解決了工程師需要理解的問題,以便成功與軟體工程師合作,制定高品質軟體的規範,並學習最常見的程式語言、開發方法和範式的基礎知識。新版全面更新,改善了教學流程,並強調了在每個軟體工程領域中出現的新軟體工程流程、實踐和工具。
特點:
- 定義軟體和軟體開發的概念和流程,如敏捷流程、需求工程和軟體架構、設計和構建。
- 揭示並回答關於軟體開發過程的各種誤解,並對行業實踐的最新狀況進行反思。
- 詳細介紹非軟體工程師如何更好地與軟體工程師溝通,更有效地參與設計和測試,從而降低軟體開發和維護成本。
- 幫助回答問題:如何更好地利用嵌入式軟體來設計?
- 新增了關於軟體架構、軟體工程和系統以及軟體工程和顛覆性技術的新章節和部分,以及有關網絡安全的信息。
- 新增了描述樣本自動化系統的附錄,包括軟體需求、架構和設計。
本書針對許多不同領域的工程師,尤其是與軟體相關的工程師。
作者簡介
Phil Laplante is Professor of Software and Systems Engineering at The Pennsylvania State University. He received his B.S., M.Eng., and Ph.D. from Stevens Institute of Technology and an MBA from the University of Colorado. He is a Fellow of the IEEE and SPIE and has won international awards for his teaching, research and service. From 2010-2017 he led the effort to develop a national licensing exam for software engineers.He has worked in avionics, CAD, and software testing systems and he has published 37 books and more than 250 scholarly papers. He is a licensed professional engineer in the Commonwealth of Pennsylvania. He is also a frequent technology advisor to senior executives, investors, entrepreneurs and attorneys and actively serves on corporate technology advisory boards. His research interests include artificial intelligent systems, critical systems, requirements engineering and software quality and management. Prior to his appointment at Penn State he was a software development professional, technology executive, college president and entrepreneur. Over the years he has worked with, and for, many kinds of engineers. Non-software engineers have worked with him as well, and he has had the pleasure of teaching thousands of practicing engineers of various types about software engineering. This text, then, represents a compendium of what engineers should know about software engineering. Dr. Laplante earned a B.S. and Ph.D. in computer science and an M.Eng. in electrical engineering from Stevens Institute of Technology, and an M.B.A. from the University of Colorado. He also consults regularly for the software industry, including Fortune 1000 companies and smaller software development houses.
Mohamad Kassab is an associate research professor and a member of the graduate faculty at The Pennsylvania State University. He earned his Ph.D. and M.S. degrees in computer science from Concordia University in Montreal, Canada. Dr. Kassab was an affiliate assistant professor in the department of computer science and software engineering at Concordia University between 2010 and 2012 and a postdoctoral researcher in software engineering at Ecole de Technologie SupZrieure (ETS) in Montreal between 2011 and 2012, and a visiting scholar at Carnegie Mellon University (CMU) between 2014 and 2015. Dr. Kassab has been conducting research projects jointly with the industry to develop formal and quantitative models to support the integration of quality requirements within software and systems development life cycles. The models are being further leveraged with the support of developed architectural frameworks and tools. His research interests also include bridging the gap between software engineering practices and disruptive technologies (e.g., IoT, blockchain). He has published extensively in software engineering books, journals, and conference proceedings. He is also a member of numerous professional societies and program committees, and the organizer of many software engineering workshops and conference sessions. With over twenty years of global industry experience, Dr. Kassab has developed a broad spectrum of skills and responsibilities in many software engineering areas. Notable experiences include business unit manager at Soramitsu, senior quality engineer at SAP, senior quality engineer at McKesson, senior associate at Morgan Stanley, senior quality assurance specialist at NOKIA, and senior software developer at Positron Safety Systems. He is an Oracle Certified Application Developer, Sun Certified Java Programmer, and Microsoft Certified Professional. Dr. Kassab has taught a variety of graduate and undergraduate software engineering and computer science courses at Penn State and Concordia University. He has won many awards for his excellence in teaching.
作者簡介(中文翻譯)
Phil Laplante是賓夕法尼亞州立大學的軟體和系統工程學教授。他在史蒂文斯理工學院獲得了學士、碩士和博士學位,並在科羅拉多大學獲得了工商管理碩士學位。他是IEEE和SPIE的會士,並因其教學、研究和服務而獲得國際獎項。從2010年到2017年,他帶領團隊開發了一個國家軟體工程師的專業資格考試。他曾在航空電子、CAD和軟體測試系統方面工作,並出版了37本書和250多篇學術論文。他是賓夕法尼亞州的註冊專業工程師。他經常擔任高級執行官、投資者、企業家和律師的技術顧問,並積極參與企業技術顧問委員會的工作。他的研究興趣包括人工智能系統、關鍵系統、需求工程和軟體品質和管理。在加入賓夕法尼亞州立大學之前,他曾擔任軟體開發專業人員、技術執行官、學院校長和企業家。多年來,他與各種工程師合作和工作。非軟體工程師也與他合作過,他有幸教授了成千上萬名不同類型的實踐工程師有關軟體工程的知識。因此,這段文字代表了工程師應該了解的軟體工程知識。Laplante博士在史蒂文斯理工學院獲得了計算機科學學士和博士學位,並在科羅拉多大學獲得了工商管理碩士學位。他還經常為軟體行業提供咨詢服務,包括財富1000強公司和小型軟體開發公司。
Mohamad Kassab是賓夕法尼亞州立大學的副研究教授和研究生教師。他在加拿大蒙特利爾的康考迪亞大學獲得了計算機科學博士和碩士學位。Kassab博士在2010年至2012年期間擔任康考迪亞大學計算機科學和軟體工程系的副教授,並在2011年至2012年期間在蒙特利爾的Ecole de Technologie SupZrieure (ETS)擔任軟體工程的博士後研究員,並在2014年至2015年期間在卡內基梅隆大學(CMU)擔任訪問學者。Kassab博士一直與工業界合作進行研究項目,開發形式化和量化模型,以支持軟體和系統開發生命週期中的質量需求整合。這些模型還進一步利用開發的架構框架和工具。他的研究興趣還包括搭建軟體工程實踐和顛覆性技術(例如物聯網、區塊鏈)之間的鴻溝。他在軟體工程書籍、期刊和會議論文中發表了大量文章。他還是許多專業協會和計畫委員會的成員,並組織了許多軟體工程研討會和會議場次。Kassab博士在全球工業界擁有超過二十年的經驗,在許多軟體工程領域擁有廣泛的技能和責任。他曾在Soramitsu擔任業務部經理,在SAP擔任高級質量工程師,在McKesson擔任高級質量工程師,在摩根士丹利擔任高級副總,在NOKIA擔任高級質量保證專家,在Positron Safety Systems擔任高級軟體開發人員。他是Oracle認證應用開發人員、Sun認證Java程序員和微軟認證專業人員。Kassab博士在賓夕法尼亞州立大學和康考迪亞大學教授過各種研究生和本科軟體工程和計算機科學課程。他因其卓越的教學而獲得了許多獎項。