Software Engineering – Concepts and Implementations

Software Engineering – Concepts and Implementations

Software Engineering – Concepts and Implementations Course Designer and Acquisition Editor Centre for Information Technology and Engineering Manonmaniam Sundaranar University Tirunelveli Software Engineering – Concepts and Implementation Centre for Information Technology and Engineering, Manonmaniam Sundaranar University CONTENTS Lecture 1 THE PRODUCT 1 Software Software Characteristics Software Components Software Applications Software A Crisis on the Horizon Software myths Lecture 2 PROCESS 13 Software Engineering – A Layered Technology Process, Methods, and Tools A Generic view of Software Engineering The Software Process Software process models Linear Sequential Models The Incremental model The formal methods Model Lecture 3 PROJECT MANAGEMENT CONCEPT 26 The management Spectrum People The Problem Problem decomposition The process Process Decomposition The Project Lecture 4 SOFTWARE PROJECT PLANNING – I 40 Observations on Estimating Project Planning Objectives Software Scope Obtaining Information Necessary for Scope A scoping Example Resources Human Resources Reusable Software Resources Environmental Resources Centre for Information Technology and Engineering, Manonmaniam Sundaranar University Lecture 5 SOFTWARE PROJECT PLANNING – II 50 Decomposition Techniques Problem Based Estimations An example of LOC Based Estimation Lecture 6 RISK MANAGEMENT 58 Reactive Vs. Proactive Risk Strategies Software Risks Risk Identification Risk projection Risk Mitigation, Monitoring and Management Safety Risk and Hazards Lecture 7 PROJECT SHCEDULING AND TRACKING – I 74 Comments on “Lateness” Basic Principles The Relationship Between People and Effort An Empirical Relationship Effort Distribution Defining a Task Set for the Software Project Degree of Rigor Defining Adaption Criteria Computing a Task Set Selector Value Interpreting the TSS value and Selecting the Task Set Lecture 8 PROJECT SCHUDELING AND TRACKING – II 85 Selecting Software Engineering Tasks Refinement of major Tasks Defining a Tasks Network Scheduling Timeline Charts Tracking the Schedule The Project Plan Lecture 9 SOFTWARE QUALITY ASSURANCE – I 97 Quality concept The Quality Movement Software Quality Assurance Software Reviews Lecture 10 SOFTWARE QUALITY ASSURACNE – II 108 Formal Techniques Reviews Formal Approaches to SQA Centre for Information Technology and Engineering, Manonmaniam Sundaranar University Statistical Quality Assurance Software Reliability The SQA Plan The ISO 9000 Quality Standards Lecture 11 SOFTWARE CONFIGURATION MANAGEMENT 123 Software Configuration management The SCM process Identification of Objects in the Software Configuration Version Control Change Control Configuration Audit Status Reporting SCM Standards Lecture 12 SYSTEM ENGINEERING – I 139 The System Engineering Hierarchy System Modeling Information Engineering : An Overview Product Engineering : An overview Information Engineering Lecture 13 SYSTEM ENGINEERING – II 150 Information Strategy Planning Enterprise modeling ‘Business Level Data Modeling Business Area Analysis Information flow modeling Lecture 14 SYSTEM ENGINEERING - III 161 Product Engineering Modeling The System Architecture System modeling and Simulation System Specification Lecture 15 ANALYSIS MODELING – I 175 The Elements of the Analysis model Data Modeling Data Objects, Attributes and Relationships Cardinality and modality Entity Relationship Diagrams Function modeling and information flow Centre for Information Technology and Engineering, Manonmaniam Sundaranar University Data Flow Diagrams Extensions for Real Time Systems Ward and Mellor Extension Hately and Pirbhai Extension Lecture 16 ANALYSIS MODELING –II 192 Behavioral Modeling The mechanic of Structured Analysis Creating an Entity Relationship Diagram Creating a Data flow model Creating a Control flow Model The Control Specification The Process Specification Lecture 17 ANALYSIS MODELING – III 207 Data Dictionary An Overview of other Classical Analysis methods Data Structured System Development Jackson System Development SADT Lecture 18 DESIGN CONCEPTS AND PRINCIPLES – I 214 Software Design and Software Engineering The Design Process Design Principle Design Concepts Lecture 19 DESIGN CONCEPTS AND PRINCIPLES – II 230 Functional independence Design Heuristics for Effective modularity The Design model Design Documentation Lecture 20 DESIGN METHODS – I 241 Architectural design The Architectural Design process Transform Mapping Transaction Mapping Sign Postprocessing Lecture 21 DISCUSSION Centre for Information Technology and Engineering, Manonmaniam Sundaranar University Lecture 22 DESIGN METHODS – II 262 Architectural Design optimization Interface Design Human Computer interface Design General Interaction Procedural Design Lecture 23 DISCUSSION Lecture 24 DESIGN FOR REAL TIME-I 284 Real Time Systems Integration and performance Issues Interrupt handling Real time databases Real Time Operating Systems Real Time Languages Task Synchronization and Communications Lecture 25 DESIGN FOR REAL TIME – II 293 Analysis and Simulation of Real Time Systems Real Time Design Syllabus 306 YZ Centre for Information Technology and Engineering, Manonmaniam Sundaranar University The Product Lecture 1 The Product Objectives In this lecture you will learn the following á Software characteristics á Software components á Software applications á Software myths Centre for Information Technology and Engineering, Manonmaniam Sundaranar University 1 Software Engineering – Concepts & Implementation Coverage Plan Lecture 1 1.1 Snap shot the evolving role of software 1.2 Software 1.3 Software Characteristics 1.4 Software Components 1.5 Software Applications 1.6 Software: a crisis on the horizon 1.7 Software Myths 1.8 Short Summary 1.9 Brain Storm Centre for Information Technology and Engineering, Manonmaniam Sundaranar University 2 The Product 1.1 Snap Shot Today software takes on a dual role. It is a product and at the same time the vehicle for deliveritn a product. As a product it delivers the computing potential embodied by computer hardware. Whether it resides within a cellular phone or operates inside a mainframe computer software is an information transformer producing, managing, acquiring modifying , displaying or transmitting information that can be as simple as a signle bit or as complex as a multimedia simulation. As the vehicle used to deliver the product softwre acts as the basis for the control of the computer (operation sytems) the communication of inforamtion (networks) and the creation and control of other programs (software tools and environments). Software delivers what many believe will be the most importatnt prodcut of the twenty-first century informatiion. Software transfroms personal data(e.g., an individual financial transactions) so that the data can be more useful in a local context it manages business information to enhance competiveness it provides a gateway to world wide inforamtion networks(e.g., the Internet) ; and it provides the means for acquirring information in all of its forms. 1.2 Software In 1970s less than 1 percent of the public could have intelligently d4escribed what “computer software “ meant. Today most professionals and many member of the public at large feel that they understand software. But do they? A textbook description of software might take the following form: Software is (1) instructions (computer programs) that when executed provide desired function and performance (2) data structures that enable the programs to adequately manipulate information and (3) documents that describe the operation and use of the programs. There is no question that other more complete definitions could be offered. But we need more than a formal definition. 1.3. Software Characteristics To gain an understanding of software (and ultimately an understanding of software engineering) it is important to examine the characteristic of software that make it different from other things that human beings build. When hardware is built the human creative process(analysis, design, construction) is ultimately translated into a physical form. If we build a new computer our initial sketches formal design drawings and bread boarded prototypes evolve into a physical product (VLSI chips, circuit boards, power supplies etc). Software is a logical rather than a physical system element. Therefore software has characteristic that differ considerably from those of hardware. Software is developed or engineered, it is not manufactured in the classical sense. Although some similarities exist between software development and hardware manufacture the two activities are fundamentally different. In both activities high quality is achieved through good design but the manufacturing phase for hardware can introduce quality problems that are nonexistent (or easily corrected) for software. Both activities depend on people but the relationship between people applied and work accomplished is entirely different. Centre for Information Technology and Engineering, Manonmaniam Sundaranar University 3 Software Engineering – Concepts & Implementation Software doesn’t wear out. Figure 1.1 depicts failure rate as a function of time for hardware. The relationship, often called the “bathtub curve”, indicates that hardware exhibits relatively high failure rates early in its life (these failures are often attributable to design or manufacturing defects) defects are corrected, and the failure

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    315 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us