SNU IDB Lab. 1 Great Ideas of CS with Java Part 1 WWW & Computer programming in the language Java Ch 1: The World Wide Web Ch 2: Watch out: Here comes.

Slides:



Advertisements
Similar presentations
Adaptive Processes Introduction to Software Engineering Adaptive Processes.
Advertisements

©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 1 Software Engineering Software Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
What is software? Computer programs and associated documentation
1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
Software Engineering Software Engineering is the science and art of building significant software systems that are: 1) on time 2) on budget 3) with acceptable.
Soft. Eng. II, Spring 2002Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter II Chap1: Software Engineering Models (Review) Mandatory reading: chapter.
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
Chapter 2 – Software Processes
ISNE101 Dr. Ken Cosh. Recap  We’ve been talking about Software…  Application vs System Software  Programming Languages  Vs Natural Languages  Syntax,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems.
Soft. Eng. I, Spring 07Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 5 Requirements Engineering Reading: Chap. 6, 7 + annex.
Soft. Eng. IDr Driss Kettani1 CSC-3324: Chapter I Introduction and definition Reading: I. Sommerville, Edition 7, Chap. 1.
Software Engineering General Project Management Software Requirements
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
©Ian Sommerville 2000 Software Engineering, 6th edition Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
SE 112 Slide 1 SE 112 l
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
An Introduction to Software Engineering
Lecture 1.
Chapter 3 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 System and Software Engineering.
Chapter 1- Introduction
Chapter 1- Introduction Lecture 1 Ready, fire, aim (the fast approach to software development). Ready, aim, aim, aim, aim... (the slow approach to software.
CSI315 Web Applications and Technology Overview of Systems Development (342)
1 An Introduction to Software Engineering. 2 Objectives l To introduce software engineering and to explain its importance l To set out the answers to.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 Software Engineering The first lecture.
2-Oct-15 1 Introduction to Software Engineering Softwares Importance of SWE Basic SWE Concepts ICS Software Engineering.
2-Oct-15 Introduction to SWE1 Introduction to Software Engineering Softwares Importance of SWE Basic SWE Concepts.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 2: Software Process Omar Meqdadi SE 2730 Lecture 2 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Software Processes l Coherent sets of activities for specifying, designing,
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
An Introduction to Software Engineering. What is Software?
Information Systems Analysis and Design Reviews of IS and Software Process Spring Semester
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Engineering, COMP201 Slide 1 Introduction to software engineering Lecture 1.
1 Software Engineering Ian Sommerville th edition Instructor: Mrs. Eman ElAjrami University Of Palestine.
Introduction to Software Engineering. Why SE? Software crisis manifested itself in several ways [1]: ◦ Project running over-time. ◦ Project running over-budget.
Systems Development Life Cycle
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution Structured programming Product SW.
1 CSC 4700 Software Engineering John Lewis These slides are based on originals provided by Ian Sommerville.
Chapter 1- Introduction Lecture 1. Topics covered  Professional software development  What is meant by software engineering.  Software engineering.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 1 Slide 1 Chapter 1 Introduction As modified by Randy Smith.
CS 310 Ch 4: Software Processes Software process: a set of activities that lead to a software system specification design and implementation validation.
CompSci 280 S Introduction to Software Development
Chapter3:Software Processes
An Introduction to Software Engineering
An Introduction to Software Engineering
INTRODUCTION The economies of ALL developed nations are dependent on software. More and more systems are software controlled Software engineering is concerned.
Chapter 1- Introduction
MISY 301 Mr.Mohammed Rafeeque.
Chapter 1- Introduction
Software Processes (a)
An Introduction to Software Engineering
Software Engineering Software Engineering is the science and art of
CS310 Software Engineering Lecturer Dr.Doaa Sami
Software Engineering Software Engineering is the science and art of
An Introduction to Software Engineering
Presentation transcript:

SNU IDB Lab. 1 Great Ideas of CS with Java Part 1 WWW & Computer programming in the language Java Ch 1: The World Wide Web Ch 2: Watch out: Here comes Java Ch 3: Numerical computation & Function Ch 4: Subroutines & Databases Ch 5: Graphics Ch 6: Simulation Ch 7: Software engineering Part 2 Understanding what a computer is and how it works Ch 8: Machine architecture Ch 9: Language translation Ch 10: Virtual Environment for Computing Ch 11: Security, Privacy, and Wishful thinking Ch 12: Computer Communication Part 3 Advanced topics Ch 13: Program Execution Time Ch 14: Parallel Computation Ch 15: Noncomputability Ch 16: Artificial intelligence

SNU IDB Lab. Ch 7. Software Engineering Copyright © SNU IDB Lab.

SNU IDB Lab. 3 Table of Contents Introduction The Software Process The SW process model Organizational Schemes Summary The text contents is so mild, here we brought the general SW introduction.

SNU IDB Lab. 4 SW Engineering Methodology regarding designing, building and maintaining large software systems To define software engineering and explain its importance To discuss the concepts of software products and software processes

SNU IDB Lab. 5 Software Eng. Principles The AIM of S.E. is “quality software” NATO Software Workshop 1968 McIlory “mass-produced software components” Software crisis Symptoms of Large Software Development Nonresponsive Unreliable Untimely Inflexible Not reusable Difficult to maintain

SNU IDB Lab. 6 The economies of ALL developed nations are dependent on software More and more systems are software controlled Software engineering is concerned with theories, methods and tools for professional software development Software engineering expenditure represents a significant fraction of GNP in all developed countries Facts of Life in Software Engineering

SNU IDB Lab. 7 Software costs often dominate system costs. The costs of software on a PC are often greater than the hardware cost Software costs more to maintain than it does to develop. For systems with a long life, maintenance costs may be several times development costs Software engineering is concerned with cost-effective software development Software costs

SNU IDB Lab. 8 Software products Generic products Stand-alone systems which are produced by a development organisation and sold on the open market to any customer MS Window/XP, MS Office, Oracle DBMS, …. Bespoke (customised) products Systems which are commissioned by a specific customer and developed specially by some contractor 서울대 정보광장, 컴퓨터공학부 홈페이지

SNU IDB Lab. 9 Characteristics of Software product Maintainability It should be possible for the software to evolve to meet changing requirements Dependability (Durability) The software should not cause physical or economic damage in the event of failure Efficiency The software should not make wasteful use of system resources Usability Software should have an appropriate user interface and documentation

SNU IDB Lab. 10 Efficiency costs

SNU IDB Lab. 11 Table of Contents Introduction The Software Process The SW process model Organizational Schemes Summary

SNU IDB Lab. 12 The Software Process Structured set of activities required to develop a software system Specification Design Validation Evolution …. Activities vary depending on the organization and the type of system being developed Must be explicitly modeled if it is to be managed

SNU IDB Lab. 13 Large Software Products of Commercial/Industrial Use Issues Correctness and Robustness Testing Documentation Customer Support User Friendliness Help Desk Training the users Follow-on products

SNU IDB Lab. 14 Issues in Software Process (1) Correctness, correctness, correctness…. careful, detailed, and exact description of every aspect of product behavior Understandability Is the coding understandable? Visibility Is the process progress externally visible? Supportability for Computer Aided SW Eng (CASE) tools Libraries of code, language editor, run-time monitor, debugging package, programming manuals, graphic subsystems, … Programmer then assembles code with the aid of these facilities

SNU IDB Lab. 15 Issues on Software Process (2) Reliability Are process errors discovered before they result in product errors? Robustness Can the program continue in spite of unexpected problems? Maintainability Can the program evolve to meet changing organisational needs? Rapidity How fast can the system be produced?

SNU IDB Lab. 16 Table of Contents Introduction The Software Process The SW process model Organizational Schemes Summary

SNU IDB Lab. 17 Program Development Life Cycle (1) Defining the Product Extensive interviews with the client and market survey to determine the nature of the problem Then, automated solutions to the problem can be proposed, measured, and selected Selecting the programming team Making estimates as to the kind and numbers of people Developing the Program Specification Exact specification of the system’s external characteristics is written down Designing the System Structure System organization needs to be designed and the major data structures must be specified

SNU IDB Lab. 18 Program Development Life Cycle (2) Coding the System (small part!) Resulting in the discovery and correction of errors or poor decisions at earlier stages Testing the Code Individual parts of the system can be tested to conform that they meet the requirements given in the working documents Revision Continual improvements may be made in the system design Involves modifying documentation and rewriting the code

SNU IDB Lab. 19 Program Development Life Cycle (3) Documentation Comments on Comments Program Header, Block Header Line Comments Procedure Specs, Variable Descriptions Manuals User Manual, Software Logic/Technical Manual Now, usually also on-line Delivery and Training Involves sending project members to clients to help with installation, early operation, and training of users Maintenance and Upgrade Vendors should keep a group of programmers carrying on maintenance and upgrade activities

SNU IDB Lab. 20 Generic software process models The Waterfall model Separate and distinct phases of specification and development Evolutionary development Specification and development are interleaved Formal transformation A mathematical system model is formally transformed to an implementation Reuse-based development The system is assembled from existing components

SNU IDB Lab. 21 Waterfall model

SNU IDB Lab. 22 Waterfall model phases Requirements analysis and definition System and software design Implementation and unit testing Integration and system testing Operation and maintenance The drawback of the waterfall model is the difficulty of accommodating change after the process is underway

SNU IDB Lab. 23 Various Design Documents Requirement Analysis Document Flow chart Structure chart Data Flow Diagram Object Diagram Class Hierarchy …….

SNU IDB Lab. Example of Requirement Analysis: Viewpoint Hierarchy

SNU IDB Lab. Example of Requirement Analysis: User Function template

SNU IDB Lab. Example of Requirement Analysis: Data and control analysis

SNU IDB Lab. Data Flow Diagram: Order processing

SNU IDB Lab. Functional Design Diagram: Compiler

SNU IDB Lab. Object-oriented Diagram: Compiler

SNU IDB Lab. 30 ER Studio CASE Tool

SNU IDB Lab. 31 CASE Studio

SNU IDB Lab. 32 Table of Contents Introduction The Software Process The SW process model Organizational schemes Summary

SNU IDB Lab. 33 Organizational Schemes Breaking up the sense of ownership that programmers have in their own code. Code is considered to be a product of the group activity Criticism and improvements from any member are always welcomed Desirable Programmer Team Chief programmer Backup programmer Programming librarian

SNU IDB Lab. 34 Table of Contents Introduction The software process The SW process model Organizational schemes Summary

SNU IDB Lab. 35 Summary Software engineering is concerned with the theories, methods and tools for developing, managing and evolving software products Software products consist of programs and documentation. Main issues of SW are maintainability, dependability, efficiency and usability The software process consists of those activities involved in software development The waterfall model considers each process activity as a discrete phase Process visibility involves the creation of deliverables from activities Software engineers have ethical, social and professional responsibilities

SNU IDB Lab. 36 Ch 7: Software Engineering Text Review Time