دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش:
نویسندگان: Gerard O'Regan
سری: Texts in Computer Science
ISBN (شابک) : 9783031262111, 9783031262128
ناشر: Springer
سال نشر: 2023
تعداد صفحات: 538
زبان: English
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 7 Mb
در صورت تبدیل فایل کتاب Mathematical Foundations of Software Engineering: A Practical Guide to Essentials به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب مبانی ریاضی مهندسی نرم افزار: راهنمای عملی برای موارد ضروری نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
این کتاب درسی مقدمه ای بر مبانی ریاضی مهندسی نرم افزار ارائه می دهد. این برنامه کاربردی غنی از ریاضیات را در زمینه هایی مانند کدهای تصحیح خطا، رمزنگاری، زمینه های حیاتی ایمنی و امنیتی، زمینه های بانکی و بیمه و همچنین کاربردهای مهندسی سنتی ارائه می دهد. موضوعات و ویژگیها: ریاضیات اصلی را برای تفکر انتقادی و حل مسئله مورد بحث قرار میدهد. درباره منطق گزارهای و محمولی و تکنیکهای اثبات مختلف برای نشان دادن درستی یک استدلال منطقی بحث میکند. بررسی نظریه اعداد و کاربردهای آن در رمزنگاری ریاضیات اساسی کدهای تصحیح خطا را در نظر میگیرد نظریه گراف و کاربردهای آن در مدلسازی شبکهها را بررسی میکند. و بهره مرکب، احتمال و آمار و تحقیق در عملیات بحث در مورد قابلیت اطمینان و قابلیت اطمینان نرم افزار و توضیح روش های رسمی مورد استفاده برای استخراج یک برنامه از مشخصات آن. موضوعات کلیدی یادگیری، خلاصهها، و سؤالات مروری در هر فصل، همراه با واژهنامه مفید این کتاب درسی/مرجع کاربردی و آسان برای دانشآموزان علوم رایانه ایدهآل است که میخواهند یاد بگیرند چگونه ریاضیات میتواند به آنها در ساختن با کیفیت بالا و قابل اعتماد کمک کند. نرم افزار به موقع و با بودجه این متن همچنین به عنوان یک آغازگر خودآموز عالی برای مهندسین نرم افزار، متخصصان کیفیت و مدیران نرم افزار عمل می کند.
This textbook presents an introduction to the mathematical foundations of software engineering. It presents the rich applications of mathematics in areas such as error-correcting codes, cryptography, the safety and security critical fields, the banking and insurance fields, as well as traditional engineering applications. Topics and features: Addresses core mathematics for critical thinking and problem solving Discusses propositional and predicate logic and various proof techniques to demonstrate the correctness of a logical argument. Examines number theory and its applications to cryptography Considers the underlying mathematics of error-correcting codes Discusses graph theory and its applications to modelling networks Reviews tools to support software engineering mathematics, including automated and interactive theorem provers and model checking Discusses financial software engineering, including simple and compound interest, probability and statistics, and operations research Discusses software reliability and dependability and explains formal methods used to derive a program from its specification Discusses calculus, matrices, vectors, complex numbers, and quaternions, as well as applications to graphics and robotics Includes key learning topics, summaries, and review questions in each chapter, together with a useful glossary This practical and easy-to-follow textbook/reference is ideal for computer science students seeking to learn how mathematics can assist them in building high-quality and reliable software on time and on budget. The text also serves as an excellent self-study primer for software engineers, quality professionals, and software managers.
Preface Overview Organization and Features Audience Acknowledgments Contents Abbreviations List of Figures List of Tables 978-3-031-26212-8_1.pdf 1 Fundamentals of Software Engineering 1.1 Introduction 1.2 What Is Software Engineering? 1.3 Challenges in Software Engineering 1.4 Software Processes and Lifecycles 1.4.1 Waterfall Lifecycle 1.4.2 Spiral Lifecycles 1.4.3 Rational Unified Process 1.4.4 Agile Development 1.4.5 Continuous Software Development 1.5 Activities in Software Development 1.5.1 Requirements Definition 1.5.2 Design 1.5.3 Implementation 1.5.4 Software Testing 1.5.5 Support and Maintenance 1.6 Software Inspections 1.7 Software Project Management 1.8 CMMI Maturity Model 1.9 Formal Methods 1.10 Review Questions 1.11 Summary References 978-3-031-26212-8_2.pdf 2 Software Engineering Mathematics 2.1 Introduction 2.2 Early Software Engineering Mathematics 2.3 Debate on Mathematics in Software Engineering 2.4 The Emergence of Formal Methods 2.5 What Mathematics Do Software Engineers Need? 2.6 Review Questions 2.7 Summary References 978-3-031-26212-8_3.pdf 3 Mathematical Prerequisites for Software Engineers 3.1 Introduction 3.2 Set Theory 3.2.1 Set Theoretical Operations 3.2.2 Computer Representation of Sets 3.3 Relations 3.3.1 Reflexive, Symmetric and Transitive Relations 3.3.2 Composition of Relations 3.3.3 Binary Relations 3.4 Functions 3.5 Arithmetic 3.5.1 Fractions and Decimals 3.5.2 Prime Number Theory 3.5.3 Greatest Common Divisors (GCD) 3.5.4 Least Common Multiple (LCM) 3.5.5 Ratios and Proportions 3.5.6 Percentages 3.6 Trigonometry 3.6.1 Definition of Sine, Cosine, and Tangent 3.6.2 Sine and Cosine Rules 3.6.3 Trigonometric Identities 3.6.4 Degrees and Radians 3.6.5 Periodic Functions and Sketch of Sine and Cosine Functions 3.6.6 Power Series for Sine and Cosine 3.7 Cartesian Coordinates 3.8 Review Questions 3.9 Summary References 978-3-031-26212-8_4.pdf 4 Introduction to Algorithms 4.1 Introduction 4.2 Early Algorithms 4.2.1 Greatest Common Divisors (GCD) 4.2.2 Euclid’s Greatest Common Divisor Algorithm 4.2.3 Sieve of Eratosthenes Algorithm 4.2.4 Early Cipher Algorithms 4.3 Sorting Algorithms 4.4 Binary Trees and Graph Theory 4.5 Modern Cryptographic Algorithms 4.6 Algorithms in Numerical Analysis 4.7 Computational Complexity 4.8 Review Questions 4.9 Summary References 978-3-031-26212-8_5.pdf 5 Algebra 5.1 Introduction 5.2 Simplification of Algebraic Expressions 5.3 Simple and Simultaneous Equations 5.3.1 Simultaneous Equations 5.4 Quadratic Equations 5.5 Indices and Logarithms 5.6 Exponentials and Natural Logarithms 5.7 Horner’s Method for Polynomials 5.8 Abstract Algebra 5.8.1 Monoids and Groups 5.8.2 Rings 5.8.3 Fields 5.8.4 Vector Spaces 5.9 Review Questions 5.10 Summary 978-3-031-26212-8_6.pdf 6 Mathematical Induction and Recursion 6.1 Introduction 6.2 Strong Induction 6.3 Recursion 6.4 Structural Induction 6.5 Review Questions 6.6 Summary Reference 978-3-031-26212-8_7.pdf 7 Graph Theory 7.1 Introduction 7.2 Undirected Graphs 7.2.1 Hamiltonian Paths 7.3 Trees 7.3.1 Binary Trees 7.4 Graph Algorithms 7.5 Graph Colouring and Four-Colour Problem 7.6 Review Questions 7.7 Summary Reference 978-3-031-26212-8_8.pdf 8 Sequences, Series, and Permutations and Combinations 8.1 Introduction 8.2 Sequences and Series 8.3 Arithmetic and Geometric Sequences 8.4 Arithmetic and Geometric Series 8.5 Permutations and Combinations 8.6 Review Questions 8.7 Summary 978-3-031-26212-8_9.pdf 9 A Short History of Logic 9.1 Introduction 9.2 Syllogistic Logic 9.3 Paradoxes and Fallacies 9.4 Stoic Logic 9.5 Boole’s Symbolic Logic 9.5.1 Switching Circuits and Boolean Algebra 9.6 Frege 9.7 Review Questions 9.8 Summary References 978-3-031-26212-8_10.pdf 10 Propositional and Predicate Logic 10.1 Introduction 10.2 Propositional Logic 10.2.1 Truth Tables 10.2.2 Properties of Propositional Calculus 10.2.3 Proof in Propositional Calculus 10.2.4 Semantic Tableaux in Propositional Logic 10.2.5 Natural Deduction 10.2.6 Sketch of Formalization of Propositional Calculus 10.2.7 Applications of Propositional Calculus 10.2.8 Limitations of Propositional Calculus 10.3 Predicate Calculus 10.3.1 Sketch of Formalization of Predicate Calculus 10.3.2 Interpretation and Valuation Functions 10.3.3 Properties of Predicate Calculus 10.3.4 Applications of Predicate Calculus 10.3.5 Semantic Tableaux in Predicate Calculus 10.4 Review Questions 10.5 Summary References 978-3-031-26212-8_11.pdf 11 Advanced Topics in Logic 11.1 Introduction 11.2 Fuzzy Logic 11.3 Temporal Logic 11.4 Intuitionist Logic 11.5 Undefined Values 11.5.1 Logic of Partial Functions 11.5.2 Parnas Logic 11.5.3 Dijkstra and Undefinedness 11.6 Logic and AI 11.7 Review Questions 11.8 Summary References 978-3-031-26212-8_12.pdf 12 Language Theory and Semantics 12.1 Introduction 12.2 Alphabets and Words 12.3 Grammars 12.3.1 Backus Naur Form 12.3.2 Parse Trees and Derivations 12.4 Programming Language Semantics 12.4.1 Axiomatic Semantics 12.4.2 Operational Semantics 12.4.3 Denotational Semantics 12.5 Lambda Calculus 12.6 Lattices and Order 12.6.1 Partially Ordered Sets 12.6.2 Lattices 12.6.3 Complete Partial Orders 12.6.4 Recursion 12.7 Review Questions 12.8 Summary References 978-3-031-26212-8_13.pdf 13 Automata Theory 13.1 Introduction 13.2 Finite-State Machines 13.3 Pushdown Automata 13.4 Turing Machines 13.5 Review Questions 13.6 Summary Reference 978-3-031-26212-8_14.pdf 14 Computability and Decidability 14.1 Introduction 14.2 Logicism and Formalism 14.3 Decidability 14.4 Computability 14.5 Computational Complexity 14.6 Review Questions 14.7 Summary Reference 978-3-031-26212-8_15.pdf 15 Software Reliability and Dependability 15.1 Introduction 15.2 Software Reliability 15.2.1 Software Reliability and Defects 15.2.2 Cleanroom Methodology 15.2.3 Software Reliability Models 15.3 Dependability 15.4 Computer Security 15.5 System Availability 15.6 Safety Critical Systems 15.7 Review Questions 15.8 Summary References 978-3-031-26212-8_16.pdf 16 Overview of Formal Methods 16.1 Introduction 16.2 Why Should We Use Formal Methods? 16.3 Industrial Applications of Formal Methods 16.4 Industrial Tools for Formal Methods 16.5 Approaches to Formal Methods 16.5.1 Model-Oriented Approach 16.5.2 Axiomatic Approach 16.6 Proof and Formal Methods 16.7 Debate on Formal Methods in Software Engineering 16.8 The Vienna Development Method 16.9 VDM♣, the Irish School of VDM 16.10 The Z Specification Language 16.11 The B-Method 16.12 Predicate Transformers and Weakest Preconditions 16.13 The Process Calculi 16.14 Finite-State Machines 16.15 The Parnas Way 16.16 Model Checking 16.17 Usability of Formal Methods 16.18 Review Questions 16.19 Summary References 978-3-031-26212-8_17.pdf 17 Z Formal Specification Language 17.1 Introduction 17.2 Sets 17.3 Relations 17.4 Functions 17.5 Sequences 17.6 Bags 17.7 Schemas and Schema Composition 17.8 Reification and Decomposition 17.9 Proof in Z 17.10 Industrial Applications of Z 17.11 Review Questions 17.12 Summary Reference 978-3-031-26212-8_18.pdf 18 Model Checking 18.1 Introduction 18.2 Modelling Concurrent Systems 18.3 Linear Temporal Logic 18.4 Computational Tree Logic 18.5 Tools for Model Checking 18.6 Industrial Applications of Model Checking 18.7 Review Questions 18.8 Summary References 978-3-031-26212-8_19.pdf 19 The Nature of Theorem Proving 19.1 Introduction 19.2 Early Automation of Proof 19.3 Interactive Theorem Provers 19.4 A Selection of Theorem Provers 19.5 Review Questions 19.6 Summary References 978-3-031-26212-8_20.pdf 20 Cryptography 20.1 Introduction 20.2 Breaking the Enigma Codes 20.3 Cryptographic Systems 20.4 Symmetric Key Systems 20.5 Public Key Systems 20.5.1 RSA Public Key Cryptosystem 20.5.2 Digital Signatures 20.6 Review Questions 20.7 Summary References 978-3-031-26212-8_21.pdf 21 Coding Theory 21.1 Introduction 21.2 Mathematical Foundations of Coding Theory 21.3 Simple Channel Code 21.4 Block Codes 21.4.1 Error Detection and Correction 21.5 Linear Block Codes 21.5.1 Parity Check Matrix 21.5.2 Binary Hamming Code 21.5.3 Binary Parity Check Code 21.6 Miscellaneous Codes in Use 21.7 Review Questions 21.8 Summary References 978-3-031-26212-8_22.pdf 22 Introduction to Statistics 22.1 Introduction 22.2 Basic Statistics 22.2.1 Abuse of Statistics 22.2.2 Statistical Sampling and Data Collection 22.3 Frequency Distribution and Charts 22.4 Statistical Measures 22.4.1 Arithmetic Mean 22.4.2 Mode 22.4.3 Median 22.5 Variance and Standard Deviation 22.6 Correlation and Regression 22.6.1 Regression 22.7 Statistical Inference and Hypothesis Testing 22.8 Review Questions 22.9 Summary References 978-3-031-26212-8_23.pdf 23 Introduction to Probability Theory 23.1 Introduction 23.2 Basic Probability Theory 23.2.1 Laws of Probability 23.2.2 Bayes’ Formula 23.3 Random Variables 23.4 Binomial and Poisson Distributions 23.5 The Normal Distribution 23.5.1 Unit Normal Distribution 23.5.2 Confidence Intervals and Tests of Significance 23.5.3 The Central Limit Theorem 23.6 Bayesian Statistics 23.7 Review Questions 23.8 Summary References 978-3-031-26212-8_24.pdf 24 Introduction to Data Science 24.1 Introduction 24.2 Ethics of Data Science 24.2.1 Data Science and Data Scientists 24.2.2 Data Science and Society 24.3 What Is Data Analytics? 24.3.1 Business Analytics and Business Intelligence 24.3.2 Big Data and Data Mining 24.3.3 Data Analytics for Social Media 24.3.4 Sources of Data 24.4 Mathematics Used in Data Science 24.5 Review Questions 24.6 Summary Reference 978-3-031-26212-8_25.pdf 25 Calculus I 25.1 Introduction 25.2 Differentiation 25.2.1 Rules of Differentiation 25.3 Integration 25.3.1 Definite Integrals 25.3.2 Fundamental Theorems of Integral Calculus 25.4 Review Questions 25.5 Summary Reference 978-3-031-26212-8_26.pdf 26 Calculus II 26.1 Introduction 26.2 Applications of Calculus 26.3 Fourier Series 26.4 The Laplace Transform 26.5 Differential Equations 26.6 Review Questions 26.7 Summary Reference 978-3-031-26212-8_27.pdf 27 Matrix Theory 27.1 Introduction 27.2 Two × Two Matrices 27.3 Matrix Operations 27.4 Determinants 27.5 Eigen Vectors and Values 27.6 Gaussian Elimination 27.7 Review Questions 27.8 Summary Reference 978-3-031-26212-8_28.pdf 28 Complex Numbers and Quaternions 28.1 Introduction 28.2 Complex Numbers 28.3 Quaternions 28.4 Quaternion Algebra 28.4.1 Quaternions and Rotations 28.5 Review Questions 28.6 Summary 978-3-031-26212-8_29.pdf 29 Vectors 29.1 Introduction 29.2 Vectors in Euclidean Space 29.2.1 Dot Product 29.2.2 Cross Product 29.2.3 Linear Dependent and Independent Vectors 29.3 Review Questions 29.4 Summary 978-3-031-26212-8_30.pdf 30 Basic Financial Mathematics 30.1 Introduction 30.2 Simple Interest 30.2.1 Computing Future and Present Values 30.2.2 Computing Future Value 30.2.3 Computing Present Values 30.3 Compound Interest 30.3.1 Present Value Under Compound Interest 30.3.2 Equivalent Values 30.4 Basic Mathematics of Annuities 30.5 Loans and Mortgages 30.6 Review Questions 30.7 Summary 978-3-031-26212-8_31.pdf 31 Introduction to Operations Research 31.1 Introduction 31.2 Linear Programming 31.2.1 Linear Programming Example 31.2.2 General Formulation of LP Problem 31.3 Cost Volume Profit Analysis 31.4 Game Theory 31.5 Review Questions 31.6 Summary References 978-3-031-26212-8_32.pdf 32 Mathematical Software for Software Engineers 32.1 Introduction 32.2 Microsoft Excel 32.3 Python 32.4 Maple 32.5 Minitab Statistical Software 32.6 R Statistical Software Environment 32.7 Mathematica 32.8 MATLAB 32.9 Summary 33.pdf Index