Software System Engineering: A Tutorial - PowerPoint PPT Presentation

1 / 30
About This Presentation
Title:

Software System Engineering: A Tutorial

Description:

A system is a collection of elements related in a way that allows the ... Complex software systems become unmanageable. Costs are overrun and deadlines are missed ... – PowerPoint PPT presentation

Number of Views:1590
Avg rating:5.0/5.0
Slides: 31
Provided by: classes
Category:

less

Transcript and Presenter's Notes

Title: Software System Engineering: A Tutorial


1
Software System Engineering A Tutorial
  • Richard H. Thayer, Ph.D.
  • Life Fellow, IEEE
  • California State University, Sacramento

2
What is a System?
  • A system is a collection of elements related in a
    way that allows the accomplishment of a common
    object
  • A man-made system is a collection of hardware,
    software, people, facilities, procedures, and
    other factors organized to accomplish a common
    objective.

3
Software System
  • A man-made system consisting of a collection of
    programs and documents that work together,
    creating a set of requirements with the specified
    software

4
What is System Engineering?
  • Definition
  • Practical application of scientific, engineering,
    and management skills necessary to transform a
    users need into a system configuration
    description that most effectively and efficiently
    satisfies the need. SE produces documents, not
    artifacts

5
System Engineering (SE)
  • Overall technical management of a
    system-development project
  • Problem solving process that provides mechanisms
    for identifying and evolving the product and
    process definitions of a system
  • Establishes a technical development management
    plan for the project
  • Provides the baseline for all software and
    hardware development

6
Functions of SE
  • Problem Definition
  • Determines the needs and constraints through
    analysis of requirements and interfacing with the
    acquirer
  • Solution Analysis
  • Determines the set of possible ways to satisfy
    requirements and constraints, studies and
    analyzes possible solutions, and selects the
    optimum one
  • Process Planning
  • Determines the tasks to be done, project size and
    effort required to develop the product,
    precedence among tasks, and potential risks to
    the project
  • Process Control
  • Determines the methods for controlling the
    project and the process, measures progress,
    reviews intermediate products, and takes
    corrective action when necessary
  • Product Evaluation
  • Determines the quality and quantity of the
    delivered product through evaluation planning,
    testing, demonstration, analysis, examination,
    and inspection

7
What is Software System Engineering (SwSE)?
  • Both a
  • Technical Process
  • Management Process
  • Performed by
  • System engineers
  • Managers
  • Software engineers
  • Programmers
  • Acquirers
  • Users

8
Why software requires system engineering
  • System engineering defines a solution space
  • Solution space defines system boundaries and its
    interfaces with outside systems
  • SE defines the product solution of the highest
    level

9
Why is SwSE necessary?
  • Responsible for the overall technical management
    of the system and the verification of the final
    system products

10
Software Engr. w/o SE
  • Complex software systems become unmanageable
  • Costs are overrun and deadlines are missed
  • Unacceptable risks are sometimes taken, leading
    to greater risk exposure
  • Erroneous decisions are made early in the life
    cycle and prove very costly in the end
  • Independently developed subsystems and components
    do not integrate properly
  • Parts and components are not built or
    requirements are not met
  • The delivered system fails to work properly
  • Parts of the system must be reworked after
    delivery

11
What is software engineering?
  • The practical application of computer science,
    management, and other sciences to the analysis,
    design, construction, and maintenance of software
    and its associated documentation
  • An engineering science that applies the concepts
    of analysis, design, coding, testing,
    documentation, and management to be successful
    completion of large, custom-built computer
    programs under time and budget constraints
  • The systematic application of methods, tools, and
    techniques to achieve a stated requirement or
    objective for an effective and efficient software
    system

12
(No Transcript)
13
What is project management?
  • Involves assessing the software systems risks
    and costs, establishing a master schedule,
    integrating the various engineering specialties
    and design groups, maintaining configuration
    control, and continuously auditing the effort to
    ensure that cost and schedule are met and
    technical requirements objectives are satisfied

14
Functions of SwSE
  • Requirements Analysis
  • Determines the needs and constraints of the
    software system by analyzing the system
    requirements that have been allocated to software
  • Software Design
  • Determines the set of possible ways to satisfy
    the software requirements and constraints,
    studies and analyzes the possible solutions, and
    selects, and selects the optimum one
  • Process Planning
  • Determines the tasks to be done, the project
    size, the effort necessary to develop the
    product, the precedence between tasks, and the
    potential risks to the project
  • Process Control
  • Determines the methods for controlling the
    project and the process, measures progress,
    reviews intermediate products, and takes
    corrective action when necessary
  • Verification, Validation, Testing
  • Evaluates the final product and documentation
    through testing, demonstrations, analysis, and
    inspections

15
Recall SE vs. SwSE
  • SE
  • Problem Definition
  • Solution Analysis
  • Process Planning
  • Process Control
  • Product Evaluation
  • SwSE
  • Requirements Analysis
  • Software Design
  • Process Planning
  • Process Control
  • Verification, Validation, Testing

16
SwSE Requirements Analysis
  • Definition
  • A software capability needed by a user to solve a
    problem or achieve an objective
  • A system capability that must be met or possessed
    by a software system of software system component
    to satisfy a contract, standard, specification,
    or other formally imposed document

17
SwSE Requirements Analysis
  • Establishes
  • Functional Requirements
  • Specifies functions that a system of system
    component must be able to perform
  • Performance Requirements
  • Specifies performance characteristics that a
    system or system component must possess
  • External Interface Requirements
  • Specifies hardware, software, or database
    elements with which a system or system component
    must interface, or setting forth constraints on
    formats, timing, or other factors caused by such
    an interface
  • Design constraint Requirements
  • Affects of constrains the design of a software
    system or software system component
  • Quality Attribute Requirements
  • Specifies the degree to which software possesses
    attributes that affect quality, such as
    correctness, reliability, maintainability, and
    portability

18
SwSE Requirements Analysis (contd)
  • Initiated
  • Acquirer and user system requirements have been
    properly identified
  • A top-level system design is complete
  • A set of software subsystems is identified
  • All user requirements have been properly
    allocated to one of more of these subsystems
  • Complete
  • A ConOps document is complete
  • All of the software system requirements is
    identified
  • An SRS that identifies what the system must do
    is written
  • SRS is verified
  • A requirements tracing is complete
  • A preliminary user manual is written
  • A test compliance matrix is finished
  • A preliminary test specification is finished
  • The software specification review is complete
  • A requirements baseline is established

19
SwSE Software Design
  • Definition
  • Process of selecting and documenting the most
    effective and efficient system elements that
    together will implement the software system
    requirements
  • Two types
  • Architectural
  • Detail

20
SwSE Architectural Design
  • Establishes
  • Top-level system design
  • General system structure
  • System components that populate the architecture
  • General description of each subsystem
  • Source of each subsystem
  • Internal interfaces between subsystems
  • External interfaces with outside systems
  • Allocation of the functional requirements to the
    subsystems
  • Allocation of nonfunctional requirements to each
    subsystem
  • Verification that the architectural subsystem
    implements the requirements specifications

21
SwSE Software Design (contd)
  • Initiated
  • The software requirements have been properly
    identified and documented
  • The draft users manual and draft test documents
    have been developed
  • Completed
  • The how question is answered
  • The architectural description is complete
  • An architectural design review is complete, and
    the stakeholders have accepted the design
    description
  • The preliminary operators and maintenance
    manuals are written
  • The design tracing is complete
  • The architectural design is reviewed
  • The architectural design is verified
  • The product baseline is established

22
SwSE Process Planning
  • Planning the engineering workload
  • Work done by PM
  • Work done by SW Engr.
  • Determine tasks to be done
  • Work breakdown structure (WBS) represents
    hierarchically the parts of a process or product
  • Determine project effort and schedule
  • Determine technical and managerial risks
  • Schedule overrun
  • Exceeding budget
  • Delivering an unsuitable product

23
SwSE Process Control
  • Control
  • collection of management activities used to
    ensure that the project goes according to plan
  • Process Control
  • feedback system that provides information on how
    well the project is going.
  • Asks questions
  • Are there potential problems that will impact the
    budget/schedule?
  • Have any of the risks turned to problems?
  • Is the design approach still doable?

24
SwSE Process Control (contd)
  • Control the engineering workload
  • Control done by the PM
  • Control done by the SW Engr.
  • Develop standards of performance
  • Set of procedures that define the process for
    developing a software product and/or specify the
    quality of a software product
  • Establish monitoring and reporting systems
  • SQA Planned pattern of actions that provide
    confidence that the product conforms to
    established technical requirements
  • SCM Method of controlling reporting software
    status
  • Measure results
  • Walkthroughs
  • Independent Auditing
  • Take corrective action if process fails to meet
    plan standard

25
SwSE Verification, Validation, Testing
  • Definition
  • Determine that the engineering process is correct
    and the products are in compliance with their
    requirements

26
SwSE VV T
  • Verification
  • Am I building the product right
  • Validation
  • Am I building the right product
  • Testing
  • Usual considered part of validation

27
SwSE VV T (contd)
  • Initiated
  • The software is complete
  • Unit tests are complete
  • Completed
  • Software integration testing is complete
  • Software system testing is complete

28
SwSE Software Integration Testing
  • Incremental
  • Top-down
  • Use of stubs
  • Bottom-up
  • Use of drivers
  • Non-incremental

29
Conclusion
  • SE SwSE are disciplines used in the front end
    of the system life cycle for technical planning
    and at the latter part of the life cycle to
    verify whether the plans have been met

30
Questions??
Write a Comment
User Comments (0)
About PowerShow.com