Download presentation
Presentation is loading. Please wait.
Published byCamilla Kelley Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.