CEN4020-Exam1

Ace your homework & exams now with Quizwiz!

Difference between Class and Object

A class is a general definition of some concept, the object is the implementation of that idea with a "limited" lifespan.

Software Engineering

An engineering discipline that deals with all aspects of software production

3 Scrum Stages

-An outline planning phase where you establish the general objectives and design the architecture for the project -A series of sprint cycles, where each cycle develops an increment of the system. -The project closure phase wraps up the project, completes required documentation such as system help frames and user manuals and assesses the lessons learned from the project.

4 Design Activites

-Architectural Design -Interface Design -Component Design -Database Design

5 Principles of Agile Software Development

-Customer Involvement: customers should be closely involved during the development process, should provide new system requirements and evaluate the iterations of the system. -Incremental Delivery: software is developed in increments while the customer specifies the requirements -People not Process: the skills of the development team should be recognized and exploited. Team members should develop their own ways of working -Embrace Change: expect system requirements to change and design system to accommodate change -Maintain Simplicity: eliminate complexity from the system in the software being developed and the developing process

Extreme Programing Practices

-Incremental Planning -Small releases -Simple Design -Test-first Environment -Refactoring -Pair Programming -Collective Ownership -Continuous Integration -Suitable Pace -On-site Customer

4 software product characteristics

-Maintainability -Dependability and security -Efficiency -Acceptability

3 Examples of Refactoring

-Re-organization of a class hierarchy to remove duplicate code. -Tidying up and renaming attributes and methods to make them easier to understand. -The replacement of inline code with calls to methods that have been included in a program library.

5 Labels on Waterfall Method

-Requirements Analysis and definition -System and software design -Implementation and unit testing -Integration and system testing -Operation and maintenance

4 Fundamental Activities

-Software specification -Software development -Software validation -Software evolution

8 types of software products

-Stand-alone apps -Interactive transaction-based apps -Embedded control systems -Batch processing systems -Entertainment systems -Systems for modeling and simulation -Data collection systems -System of Systems

Scrum

Focuses on managing iterative develpment rather specific technical approaches to agile software engineering

Plan driven v.s. Agile Development

Plan-driven divides the development into separate stages, iteration occurs within activities. Specification, design, implementation, and testing are interleaved. Stages bleed together.

Pair-Programming

Programmers work in pairs to develop code. This helps spread knowledge across the team and common ownership.

Refactoring

Programming team look for possible software improvements and make these improvements even where there is no immediate need for them

Non-functional Requirements Examples

Reliability, response time and storage requirements. Constraints are I/O device capability, system representations, particular IDE, programming language or development method

Class Diagram

Represent the structure of the system. The class diagram describes the attributes and operations of a class and also the constraints imposed on the system.

Non-functional Requirements

Requirements Constraints on the services or functions offered by the system such as timing constraints, constraints on the development process, standards, etc. Often apply to the system as a whole rather than individual features or services

Speed, Size, Reliability, Robustness, Portability

Speed: -processed transactions/second -user/event response time -screen refresh time Size: -Mbytes -number of help frames Ease of use: -training time -number of help frames Reliability: -mean time to failure -probability of unavailability -rate of failure occurrence -availability Robustness: -time to restart after failure -percentage of events causing failure -probability of data corruption on failure Portability: -percentage of target dependent statement -number of target systems

Functional Requirements

Statements of services the system should provide, how the system should react to particular inputs and how the system should behave in particular situations. May state what the system should not do. It is what the customer is concerned with.

Problems with Incremental Development

The Process is not visible and System structure tends to degrade as new increments are added.

Use Case Diagram

Use-cases are a scenario based technique in the UML which represent the functionality of the system from user's point of view. A set of use cases should describe all possible interactions with the system


Related study sets

CH03 Developing Project Proposals

View Set

SIE Chapter 9: Securities Industry Regulations

View Set

Foundations Chapter 45 Nutrition 2

View Set