140 likes | 152 Vues
Software Engineering. What is Software Engineering?. Is the systematic approach to the development, operation, maintenance, and retirement of software Establishes sound engineering principles to assist in the development of reliable, high quality systems, right from the inception stage.
E N D
What is Software Engineering? • Is the systematic approach to the development, operation, maintenance, and retirement of software • Establishes sound engineering principles to assist in the development of reliable, high quality systems, right from the inception stage
S/W Requirements • Property that must be exhibited in order to solve some problem of the real world • Properties that should be: • Specific • Measurable • Agreed Upon/Accepted • Realistic • Testable • Requirement Engineering Skills Skills called for include good verbal & written communication skills, presentation skills, sensitivity & ability to get around social & political issues that can affect stakeholders’ requirements & their willingness or ability to articulate them, rational & unbiased approach, negotiating skills, etc
Software Requirements Management • An activity that spans the whole S/w life-cycle • Is fundamentally about change management & the maintenance of the requirements in a state that accurately mirrors the S/w to be, or that has been, built • Includes change management, requirements attributes & requirements tracing
Basic Concept of S/W Design • Abstraction Process of forgetting/ignoring some information so that things that are different can be treated as if they are same • Coupling & Cohesion Coupling measures the strength of relationships that exist between modules, cohesion measures how the elements making up a module are related • Decomposing & Modularization The operation of breaking up a large system into a number of smaller independent ones
S/W Design Quality Analysis & Evaluation • Quality Attributes • Covers quality attributes generally considered important for obtaining a design of good quality. E.g the NFRs • Quality Analysis & Evaluation Tools • S/w Design Reviews (Informal, Semi-Formal, Group-based) • Static Analysis (Formal or Semi-Formal Analysis to evaluate Design) • Simulation & Prototyping (Dynamic Techniques: Performance Simulation, Feasibility Prototype) • Measures • Function Oriented (Structured): Emphasis on Structured design approach • OO Design Measures: Used for designs based on OO decomposition. The overall structure is often represented as Class Diagrams, on which various measures can be defined
S/W Construction: Breakdown • The 1st & most important method of breaking the subject of S/w construction into smaller units is to recognize the 4 principles that most strongly affect the way in which S/w is constructed. These are: • Reduction of Complexity:Addresses the limited human ability to work with complex systems that have many parts or interactions • Anticipation of Diversity:Anticipate change because the S/w is bound to undergo changes • Structuring for Validation:Building s/w in a manner that errors & omissions can be identified &eliminated more easily • Use of External Standards:Construction language that is meaningful only within the S/w is no more good
Software Test Levels Targets of Testing • They are classified based on the Targets of Testing as: • Unit Testing (Quality Artifact: Unit Test Cases & Log Template) • Integration Testing (Quality Artifact: Integration Test Cases & Log) • System Testing Relationship of Testing Activities with Analysis & Design is depicted diagrammatically The model shows the iterations & rework at each level for fixing & improving requirements, design & code before the testing steps on the right are reenacted
Software Maintenance Process • Process model with IEEE Maintenance phases, showing maintenance activities • Supporting activities include configuration management (CM), verification & validation, quality assurance, reviews, audits & conducting user training
Key Issues in Software Maintenance • Technical Issues • Limited Understanding • Testing • Impact Analysis • Maintainability • Management Issues • Alignment with Organizational Issues • Staffing • Process Issues • Organization Aspect of Maintenance • Maintenance Cost & Maintenance Cost Estimation • Parametric Models, Experience • S/w Maintenance Measurements • Specific Measures
Techniques for S/w Maintenance • Program Comprehension: Programmers reading & comprehending programs • Reengineering: Examination & alteration of the subject system to reconstitute it in a new form, & the subsequent implementation of the new form • Reverse Engineering: Process of analyzing a subject system to identify the system’s components & their inter-relationships & to create representations of the system in another form or at higher levels of abstraction. It is passive & does not change the system, to result in a new one • Impact Analysis: Identifies all systems & system products affected by a change request & develops an estimate of the resources needed to accomplish the change
Software Configuration Control • This is concerned with managing changes during the S/w life-cycle • It covers the process for determining what changes to make, the authority for approving certain changes, support for the implementation of those changes & the concept of formal deviations & waivers from project requirements
Process/ Project Management • Deals with generally accepted SE management activities • Initiation & scope definition: Determination & negotiation of requirements, Feasibility analysis, Process for review & revision of requirements • Planning: Process, Project planning, Determining deliverables, Effort, Schedule, Cost estimation, Resource allocation, Risk, Quality & Plan management • Enactment: Implementation of Plans, Measurement, Monitoring& Controlling of process, Reporting • Review & Evaluation: At critical points in the process/project overall progress towards achievement of the stated objectives & satisfaction of stakeholder requirements is evaluated • Closure: The process/project reaches closure when all of the plans & embodies processes have been enacted & completed