We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byAlexandre Megginson
Modified about 1 year ago
© Chinese University, CSE Dept. Software Engineering / 1 - 1 Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________ Computer Science & Engineering Department The Chinese University of Hong Kong
© Chinese University, CSE Dept. Software Engineering / 1 - 2 What Is Software Engineering? Software Engineering: A “multi-person construction of multi-version software.” –A term invented in the late 1960s. –Not just programming. –Dealing with complex systems. –Standard techniques and tools are invented and applied in this field.
© Chinese University, CSE Dept. Software Engineering / 1 - 3 Why Software Engineering? 1.Growing software scale and cost –An order of magnitude growth in every 10 years. –Techniques applicable to small systems could not be scaled up. 2.Complexity of applications –The demand for software operations increases at a faster rate than software engineer’s productivity
© Chinese University, CSE Dept. Software Engineering / 1 - 4 Why Software Engineering? 3.Impact of software failure –Lack of discipline makes software easy to be misused. –Multiple copies of software make software failures spread fast.
© Chinese University, CSE Dept. Software Engineering / 1 - 5 Why Software Engineering? 4.Evolution of software –Software crisis was identified in 1960’s. –Software crisis is still software crisis today. –Code is easy to change, but software is hard to replace. 5.Requirements of software measurement and metrics –Estimate software ______. –Predict and meet software development ______. –Measure and demonstrate software ______.
© Chinese University, CSE Dept. Software Engineering / 1 - 6 The Software Life Cycle (The “Waterfall Model”) 1.Requirement Analysis and Specification –After a feasibility study of customer’s demand –Identify and document the exact requirements for the system –Involve customer, developer, and user –“______ the problem is” 2.Design –A software system is developed to meet the requirements –Architectural + detailed design –“______ to solve the problem”
© Chinese University, CSE Dept. Software Engineering / 1 - 7 The Software Life Cycle 3.Coding and Module Testing (Unit testing) –To produce the actual code for the customer –Ideas on modules (units) – divide and conquer –Work breakdown structure »Break the system down into __________ –Modules are tested individually”
© Chinese University, CSE Dept. Software Engineering / 1 - 8 The Software Life Cycle 4.Integration and System Testing –Modules are integrated and tested as a whole system 5.Delivery and Maintenance –Delivery to user for operation –Corrective, adaptive, perfective maintenance
© Chinese University, CSE Dept. Software Engineering / 1 - 9 The Waterfall Model of the Software Life Cycle Requirements analysis and specification Design and specification Coding and module testing Integration and system testing Delivery and maintenance verify Design review Design walkthrough Formal inspection Figure 1.1: The waterfall model of the software life cycle verify Code review Code walkthrough verify Testing results verify Operational environment e.g., NASA model
© Chinese University, CSE Dept. Software Engineering / 1 - 10 Typical Software Cost Distribution System TypePhase Costs (%) Requirements/designImplementationTesting Command and control Systems462034 Spaceborne systems342046 Operating systems331750 Scientific systems442630 Business systems4428 ______ Therefore, _________________ ___________________ However, good ______________ good _______________ The cost of s/w development activities
© Chinese University, CSE Dept. Software Engineering / 1 - 11 Relative Penalty of Error Correction Figure 1.2: Relative cost vs. phase
© Chinese University, CSE Dept. Software Engineering / 1 - 12 Possible Software Development Paths Figure 1.3: Many possible paths to develop software
© Chinese University, CSE Dept. Software Engineering / 1 - 13 Well-Engineered Software 1.The software should be maintainable 2.The software should be reliable 3.The software should be efficient 4.The software should offer an appropriate user interface 5.The software should be measurable for trade-off study
© Chinese University, CSE Dept. Software Engineering / 1 - 14 Typical Trade-Off Study Cost 1.0 (100%) Efficiency or Reliability “The law of ________________” Figure 1.4: Tradeoff between cost and reliability
© Chinese University, CSE Dept. Software Engineering / 1 - 15 Figure 1.5: Software engineering V.S. other engineering
© Chinese University, CSE Dept. Software Engineering / 1 - 16 Software Engineering and Other Areas 1.Programming Languages –structured programs (high-level language) –independent compilation (e.g. C) –separation of specification from implementation (e.g., Ada and Java packages) –System command language (IBM OS 360 JCL vs. UNIX) –Tools (compiler, interpreter, debugger) –Compilation (run-time efficiency) vs. Interpretation (run-time flexibility) –GUI: visual languages for capturing semantics of windowing and interaction paradigms by graphical display devices –Language processing: formalization leads to automation
© Chinese University, CSE Dept. Software Engineering / 1 - 17 Software Engineering and Other Areas 2.Operating Systems –Levels of abstraction (layers) (e.g. OSI 7-layer protocol) –separation of policy from mechanism –A productive OS environment for s/w development e.g. UNIX “tools” software environment –Mobile computing environment – iOS and Android –Distributed system environment – Web Services, Cloud Computing
© Chinese University, CSE Dept. Software Engineering / 1 - 18 Software Engineering and Other Areas 3.Databases –data independence interoperability –reuse of existing database system –length of transactions (short vs. long)
© Chinese University, CSE Dept. Software Engineering / 1 - 19 Software Engineering and Other Areas 4.Artificial Intelligence –exploratory development –imperative, applicative, declarative (assignment (recursive & (logic declarations & statement) composite specifications) functions) –expert systems (rules, facts) –natural language user interface
© Chinese University, CSE Dept. Software Engineering / 1 - 20 Software Engineering and Other Areas 5.Theoretical Models –finite state machines (s/w spec & s/w design model) –Petri nets to model s/w –denotational semantics (spec. theorem proving) –temporal logic (high-order theories)
© Chinese University, CSE Dept. Software Engineering / 1 - 21 Software Engineering and Other Areas 6.Management Science –s/w project estimation –s/w project scheduling –s/w project resource planning –s/w project tracking 7.Systems Engineering –complex systems –h/w, s/w interactions
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
Ch.11 Software Engineering A Preview. Ch.12 Outline Definitions of software engineering (SE) Historical origins of SE SE as part of systems engineering.
Ch.1 1 Software Engineering A Preview Chapter 1. Ch.1 2 Outline My Background Definitions of software engineering (SE) Historical origins of SE SE as.
© Chinese University, CSE Dept. Software Engineering / Topic 3: Software Engineering Principles Your Name: _____________________ Computer Science.
What is Software Engineering? And why is it so hard?
1 Software Development Life cycle (SDLC). Phases of SDLC 2 Requirement Analysis (Defining Requirement) Designing (Design) Coding (Implementation) Software.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
ISBN Chapter 1 Preliminaries. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.1-2 Chapter 1 Topics Motivation Programming Domains.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
CS 3500 SE - 1 Software Engineering: It’s Much More Than Programming! Sources: “Software Engineering: A Practitioner’s Approach - Fourth Edition” Pressman,
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Reasons to study concepts of PL Increased capacity to express programming concepts Improved background for choosing appropriate languages Increased.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
CS 363 Comparative Programming Languages Introduction.
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Computer Science: An Overview Eleventh Edition by J. Glenn Brookshear Chapter.
MADALINA CROITORU Software Engineering week 1 Madalina Croitoru IUT Montpellier.
CS 127 Introduction to Computer Science. What is a computer? “A machine that stores and manipulates information under the control of a changeable program”
Software Engineering. Acknowledgement Charles Moen Sharon White Bun Yue.
Course Instructor: Aisha Azeem Architectural Design.
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
1.1/46 Scope Of Software Engineering 1.2/46 Prologue… ‘Have you any idea what happened to our computers! Pay $0.00 bill, …, Pay the $0.00 bill within.
Programming language Central tools used in software development Having influenced how well we can achieve our software engineering goals.
ISBN Chapter 1 Topics Motivation Programming Domains Language Evaluation Criteria Influences on Language Design Language Categories Language.
ISBN Lecture 01 Preliminaries. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.1-2 Lecture 01 Topics Motivation Programming.
An Introduction to Programming and Object-Oriented Design Using Java By Jaime Niño and Fred Hosch Slides by Darwin Baines and Robert Burton.
1 SYS366 Week 2 - Lecture Visual Modeling and Process.
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages.
What is Software Engineering? the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software”
Copyright © 2007 Addison-Wesley. All rights reserved.1-1 Reasons for Studying Concepts of Programming Languages Increased ability to express ideas Improved.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
SOFTWARE ENGINEERING Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
INVITATION TO Computer Science 1 1 Chapter 9 Introduction to High-Level Language Programming.
SE-3KO4 Software Development Kamran Sartipi Objectives of the Lecture To introduce software engineering and to explain its importance in dealing with.
1-1 Software Development Objectives: Discuss the goals of software development Identify various aspects of software quality Examine two development life.
Introduction to programming Carl Smith National Certificate Year 2 – Unit 4.
Computer Science It’s more than programming Eric Lantz.
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
Dr. Jose M. Garrido Department of Computer Science College of Computing and Software Engineering Kennesaw State University Operating Systems CS3502 Fall.
CSI315 Web Applications and Technology Overview of Systems Development (342)
CS 355 – PROGRAMMING LANGUAGES Dr. X. Topics Influences on Language Design Language Categories Language Design Trade-Offs Implementation Methods Programming.
An Introduction to Software Engineering (Chapter 1 from the textbook)
CSCI 6231: Software Engineering Instructor: Morris Lancaster.
CSE 331 Software Design & Implementation Hal Perkins Autumn 2012 Wrapup 1.
Dr. DEVENDRA TAYAL– THE SCOPE OF SOFTWARE ENGINEERING.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
1 CSC 1401 S1 Computer Programming I Hamid Harroud School of Science and Engineering, Akhawayn University
© 2017 SlidePlayer.com Inc. All rights reserved.