Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

1 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

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

3 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.

4 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

5 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

6 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

7 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

8 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 서울대 정보광장, 컴퓨터공학부 홈페이지

9 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

10 SNU IDB Lab. 10 Efficiency costs

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

12 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

13 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

14 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

15 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?

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

17 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

18 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

19 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

20 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

21 SNU IDB Lab. 21 Waterfall model

22 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

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

24 SNU IDB Lab. Example of Requirement Analysis: Viewpoint Hierarchy

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

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

27 SNU IDB Lab. Data Flow Diagram: Order processing

28 SNU IDB Lab. Functional Design Diagram: Compiler

29 SNU IDB Lab. Object-oriented Diagram: Compiler

30 SNU IDB Lab. 30 ER Studio CASE Tool

31 SNU IDB Lab. 31 CASE Studio

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

33 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

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

35 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

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


Download ppt "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."

Similar presentations


Ads by Google