DOC

SOFTWARE ENGINEERING

By Alexander Nichols,2014-04-14 02:46
7 views 0
Analysis or High-Level Design Spec. High-level or logical design. High level design System Test Plan System & regression test

Introduction 1

    SOFTWARE ENGINEERING I

TEXT: UML 2 and the Unified Process: Practical Object-Oriented Analysis & Design

    Jim Arlow, Ila Neustadt

    Chapter 2, (Chapter 1)

    OBJECTIVES:

The student shall be able to:

    ? Describe the goals of software engineering (from class discussion).

    ? Define and describe the stages or workflows of the waterfall model: Requirements, Analysis, Design, Implementation, Test

    ? Define iteration and describe the stages of an iteration.

    ? Define the four classes of iterations: Inception, Elaboration, Construction, and Transition.

    CONCEPTS:

     Introductions ? hour

     What is important in s/w eng

     Building a house ? hour

     Differences in school vs. industry projects ? hour

     Course Outline ? hour

     Waterfall model 1 hour

     Iterations ? hour

     Review of Semester Project ? hour

     Total 3.75 hours

Introduction 2

    Software Development Process Models

Waterfall Model has the following stages or workflows:

Requirements: Capture what the system shall do

    ? Reach agreement between the customer (or stakeholder) and development team

    ? Define the requirements in stakeholder language: include text and Use Case Models.

Analysis: Structure the requirements into a logical system

    ? Define the problem (or logic) in structured UML (or other) notation

Design: Applying a physical architecture to the logic system

    ? Apply computer science techniques (s/w packages, algorithms, data structures) to the logical design

Implementation: Code the software

    ? May include Unit Test to verify proper module construction

Test: Verify that the software executes as required

    ? May include Integration Test, Acceptance Test, Alpha & Beta Test, Regression Test, System Test.

    ? System Test: Entire system is tested. Thorough test.

    ? Regression Test: Re-testing existing features.

    ? Acceptance Test: Client is present at testing

    ? Alpha Test: Same as acceptance test. Customer agrees that product works as

    specified, in dry run.

    ? Beta Test: In actual environment.

Introduction 3

    Waterfall Life Cycle Documents

Stage Document Purpose

    Project Initiation Project Charter Mgmt defines project

Concept Exploration Feasibility Study Risk Mgmt, direction

System Allocation Problem Statement Initial system architecture

Requirements Requirements Spec. Agreement w. user

     Prototype Agreement w. user

     Final S/W Project Mgmt Plan Plan for development

     Acceptance Test Plan Customer accept. of TP

     Draft Users Manual

Analysis or High-Level Design Spec. High-level or logical design

    High level design System Test Plan System & regression test

    Interface Specification Interfaces btwn (sub)systems

     Integration Test Plan Test tools for integration

    Design (Low level) Design Specification Low level design

    Algorithm details

Implementation Program code

     Unit Test Code Test every line of code

     Integration Test Report Records results, metrics

     Final Users Manual

Validation System Test Report Thorough internal test

     Acceptance Test Report Formal test w. customer

Installation Final system

Operations

     & Support Problem Reports Software errors

Introduction 4

    Waterfall Model Detailed Stages

    Project Initiation Process: Define the Project

    ? Project Charter: Management defines the goals and limits of project ? Establish project environment: project standards, communication infrastructure, reporting procedure, development methodology

Concept Exploration Process: Conduct Feasibility Study

System Allocation Process: Allocate requirements to hardware, software

Requirements Process: Produce complete Requirements Specification

    ? Build prototype and test with customer

    ? Define interface requirements and prioritize all requirements

    Design Process: Represent s/w system functions in a form that may be transformed into one or more executable programs.

    ? Define objects, classes, attributes, operations ? Define database, interfaces, algorithms

Implementation: Code, Unit Test & Integration Test

    ? Unit Test: verify each unit meets its specification. ? Integration Test: Parts are put together and tested.

Verification & Validation: Perform System and Acceptance Tests

    Installation Process: Distributed and install software in an operational environment

Operation & Support: Operate and maintain the system

    ? Corrective maintenance: correct errors not discovered previously ? Perfective maintenance: enhancing system services ? Adaptive maintenance: evolve s/w as h/w and related s/w packages evolve. ? Preventive maintenance: clean up legacy code.

Waterfall Model Advantages: Easy to schedule and manage.

    ? Produces relevant documentation

    Waterfall Model Disadvantages: Need requirements defined in beginning of project. ? Projects rarely follow the sequential flow.

    ? The customer does not state all requirements explicitly. ? Project is not complete until all phases are completed. ? Developers may be delayed unnecessarily.

Introduction 5

    Unified Software Development Process

    Iterative process developed by Jacobson, Booch and Rumbaugh in 1999.

Iterations

    ? A large project may be divided into increments. Each increment includes all five

    workflows. These increments are called iterations.

    ? Iterations are useful to limit complexity, receive feedback on previous releases, and

    provide management insight into progress and risks.

    ? Each iteration is normally 2-6 weeks in length (although very large projects may have

    longer durations).

    ? Each iteration produces a Baseline, which is the set of work products produced during

    the iteration. (A Baseline may include a software release and documentation.)

Iterations can be classified as:

    ? Inception: Determines the requirements of the product (e.g. prototyping)

    ? Elaboration: Selects an architecture.

    ? Construction: Establishes the basic product.

    ? Transition: Prepares application for release (including test).

     Classifications of Iterations Phases: Inception Elaboration Construction Transition Requirements Analysis Design Implementation Test

Specifies the following Analysis and Design models:

    ? Use-case model: Describes how product is to be used.

    ? Analysis model: Describes the basic classes for the application.

    ? Design model: Describes the relationships between classes and objects.

    ? Deployment model: Allocates software to computers.

    ? Implementation model: Describes how the code is organized.

    ? Test model: Consists of test components, test procedures, and test cases.

Introduction 6

    Model Driven Architecture (MDA)

UML Designs translated automatically into code using the following stages:

    ? Computer-Independent Model (CIM): Describes the requirements in an

    implementation-nonspecific way.

    ? Platform-Independent Model (PIM): A high-level design lacks platform specifics.

    ? Platform-Specific Model (PSM): Sufficient platform information is provided (database,

    programming language, data structures) to generate code

    ? Code: Currently 70-90% of code can be generated using MDA.

Report this document

For any questions or suggestions please email
cust-service@docsford.com