Software Engineering Quiz 1

Lakukan tugas rumah & ujian kamu dengan baik sekarang menggunakan Quizwiz!

The Unified Process (UP)

-A process is a set of partially ordered steps intended to reach a goal. -The goal is to efficiently and predictably deliver a software product that meets the needs of the business. Software development process: An approach to building, deploying and maintaining software. Unified Process: A process for building object-oriented systems. The goal is to enable the production of high quality software that meets users needs within predictable schedules and budgets.

Disciplines and Phases

-Although an iteration includes work in most disciplines, the relative effort and emphasis change over time. -Early iterations tend to apply greater emphasis to requirements and design, and later ones less so. -Figure illustrations are suggestive, not literal. -Note that activities and artifacts are optional (except code!)

Software Engineering Principles

-Computer Science -Management Science -Economics -Communications -Engineering approach to problem solving

Iterative Development

-Development is organized into a series of short fixed-length mini-projects called iterations. -The outcome of each iteration is a tested, integrated and executable system. -An iteration represents a complete development cycle: it includes its own treatment of requirements, analysis, design, implementation and testing activities. -The iterative life cycle is based on the successive enlargement and refinement of a system though multiple iterations with feedback and adaptation. -The system grows incrementally over time, iteration by iteration. -The system may not be eligible for production deployment until after many iterations. -The output of an iteration is not an experimental prototype but a production subset of the final system. -Each iteration tackles new requirements and incrementally extends the system.

Iterations and Milestones

-Each phase and iteration has some risk mitigation focus, and concludes with a well-defined milestone. -The milestone review provides a point in time to assess how well key goals have been met and whether the project needs to be restructured in any way to proceed. -The end of each iteration is a minor release, a stable executable subset of the final product.

Object-Oriented Design

-Emphasizes a conceptual solution that fulfills the requirements. -Need to define software objects and how they collaborate to fulfill the requirements. -Designs are implemented in a programming language (e.g. Java, C++, Python).

Object-Oriented Software Engineering

-Object-oriented analysis (requirements) -Object-oriented design -Object-oriented programming (implementation/coding) Methodologies: -Object Modeling Techniques - OMT (Rumbaugh) -Rational Rose (Grady Booch) -Unified Process - UP (Larman)

Software life-cycle

-Problem definition -Requirements analysis -Design (Architecture) -Implementation/construction -Testing (system, integration, acceptance) -Maintenance (including future improvements)

Advantages of an Iterative Process

-Reduce risks -Get a robust architecture -Handle evolving requirements -Allow for changes -Attain early learning

Understanding Requirements

-Requirements are system capabilities and conditions to which the system must conform. -Functional requirements: Features and capabilities, Recorded in the Use Case model, and in the systems features list of the Vision artifact. -Non-functional (or quality requirements): Usability (Help, documentation, ...), Reliability (Frequency of failure, recoverability, ...), Performance (Response times, availability, ...), Supportability (Adaptability, maintainability, ...) Recorded in the Use Case model or in the Supplementary Specifications artifact.

Embracing Change

-Stakeholders usually have changing requirements. -Each iteration involves choosing a small subset of the requirements and quickly design, implement and testing them. -This leads to rapid feedback, and an opportunity to modify or adapt understanding of the requirements or design.

Iteration Length and Time boxing

-The UP recommends short iteration lengths to allow for rapid feedback and adaptation. -Long iterations increase project risk. -Iterations are fixed in length (time boxed). If meeting deadline seems to be difficult, then remove tasks or requirements from the iteration and include them in a future iteration. -The UP recommends that an iteration should be between two and six weeks in duration.

Artifacts in Inception

-Vision and business case: Describes high-level goals and constraints. -Use Case model: Describes functional requirements and related non-functional requirements. -Supplementary specification: Describes other requirements -Glossary: Key domain terminology -Risk list and Risk Management Plan: Describes business, technical, resource and schedule risks and ideas for their mitigation or response. -Prototypes and proof-of-concepts -Iteration plan: Describes what to do in the first elaboration iteration -Phase Plan & Software development Plan: Guess for elaboration phase duration. Tools, people, education & other resources -Development Case: Description of the customized UP steps and artifacts for this project.

Software Engineering

A technological and managerial discipline concerned with systematic production and maintenance of software products that are developed and modified on time and within cost estimates. In contrast to software for person use, a software products has multiple developers, users, and maintainers. Most often the developers, users, and maintainers are distinct entities.

Use Cases

Actor: something with behavior, such as a person, computer system, or organization, e.g. a cashier. Scenario: specific sequence of actions and interactions between actors and the system under discussion, e.g. the scenario of successfully purchasing items with cash. Use case: a collection of related success and failure scenarios that describe actors using a system to support a goal. -Mainly constitute functional requirements.

Design ---> Implementation

Analysis: Investigation of the problem (book, domain) Design: Logical Solution (Representation in analysis of concepts) Construction: Code (Representation in an object-oriented programming language)

Object-Oriented Analysis

During Object-oriented analysis, there is an emphasis on finding and describing the objects (or concepts) in the problem domain. -Ex. concepts in a library information system include book and library

Use Cases and Adding Value

Handle Returns: Main success scenario: A customer arrives at a checkout with items to return. The cashier uses the POS system to record each returned item... Alternate Scenarios: If the credit authorization is reject, inform customer and ask for an alternative payment method. If item identifier not found in the system, notify the Cashier and suggest manual entry of the identifier code.

Phases of the Unified Process

Inception: Define the scope of the project Elaboration: Plan project, specify features, baseline architecture. Construction: Build the product. Transition: Transition the product into end user community

Inception

Questions: -What is the vision and business case for this project? -Is it feasible? -Buy and/or build? -Rough estimate of cost. -Should we proceed or stop? -The intent is to establish some initial common vision for the objectives of the project, determine if it is feasible and decide if it is worth some serious investigation in elaboration.

Software Engineering Methodology

Systematic application of a set of technologies for analysis, design, and implementation.


Set pelajaran terkait

Honan-Chapter 22: Nursing Management: Patients With Oral and Esophageal Disorders and Patients Receiving Gastrointestinal Intubation, Enteral, and Parenteral Nutrition

View Set

C483-Chapter 2: The External and Internal Environments

View Set

9 - Prejudice, Discrimination and Stereotyping

View Set

Chapter 7 Mastering A&P - The Axial Skeletal System

View Set

Military Ranks ( all are labeled with a value )

View Set

CFP 503 - Module 1 - Income Tax Concepts, Basic Terminology, and Tax Calculations

View Set