SOFTWARE ENGINEERING

Réussis tes devoirs et examens dès maintenant avec Quizwiz!

Design

"what" the system is supposed to do into "how" the system will do it in a particular hardware/software configuration. SE team creates, documents, and verifies.

Testing

(Computer Software Component (CSC). The components of a software product are evaluated for correctness of integration processing.

Class diagram

- Class diagram: graphical way to illustrate relationships between classes in an object-oriented system. Represented by a box. - Aggregation vs. composition: the composition instances cannot on their own- normally be created by a container constructor and destroyed by its destructor.

State Diagrams

- Every software system has a state. A state expresses at any given moment in time as the current value of variables in the software. State changes are the essence of computing. - Finite state: fixed number of states, and can move, or transition from one state to another. - Determinism: transitions from its present state to another state based on the input data.

Use Case Diagrams

- Only provides one of the required document. Use cases are written as narratives. It describes how a System Under Discussion (SUD) responds to interaction from a stakeholder in a system. 2 levels: business [black box] (describe the process the SUD implements, without specifying any technology level details) and system [white box](use cases describe how the SUD will behave in specific situations. It contains: elements, triggers, preconditions, minimal guarantees, success guarantees, actor, primary actor, supporting actor.

Video of contrast between two methods.

- Waterfall method: team spends more time designing, the process takes a long time, clients can get frustrated with the end product taking long to be created and the client's needs might change, follows a contract, good communication is important. Decision is made in the beginning, customer are not involved during the development, and feedback is given at the end of the project. - Agile/ Iterative method: time conscious, uses time efficiently, stays organized, meets with the clients every two weeks to meet their expectations and get feedback, evaluates performance every two weeks, the team is flexible with the project. Project is being evaluated as it is being developed.

Unit 3: Software Modeling

...

There are different types of class object relationships...

4 types...

Code & Unit Testing

Code:the low-level program elements of the software product are created from design documentation and debugged. Unit: the verification that the program does what it is supposed to do and nothing more.

Sequential Project Life Cycle (SPLC)

The sequential life cycle model has a work breakdown structure where the stages of work are executed in sequence, and the output of each stage becomes input to the next stage. starts when a software product is conceived and ends when the product if no longer in use. Phases: initiation, problem definition, feasibility, requirements analysis, conceptual design, design, code/unit test, testing, installation and checkout, operations and maintenance, and retirement. - Usually used by businesses, not military/government. - "waterfall" because the output of each phase feeds into the next phase, while phases are modified via feedback produced during the verification and validation processes.

Sequential vs. Iterative

The sequential life cycle model has an inherent limitation that it does not recognize the iterative or nonlinear nature of certain types of application development. Under certain conditions, the iterative life cycle may be more appropriate. For example, if requirements are not fully known, it may be appropriate to jointly discover the requirements of an application by applying the iterative life cycle model.

3.2 What is UML?

Unified Modeling Language. Intended to provide a standard way to visualize the design of a system.To provide a single standard of symbol format to create a common language. A document with the code. UML diagram types: structural (class) and behavioral (activity). It is used to plan, architect and design software applications. Help communication with different members of the development team.

Operation and Maintenance

a. Perfective: to improve the performance of the application b. Corrective: to remove software defects. c. Adaptive: to incorporate any changes in the business or related laws in the system.

supporting actor

actors that have a role in carrying out some operation of the SUD, but which do not utilize the SUD directly.

Technical Feasibility

alternatives for hardware, software, and general design approach are determined to be available, appropriate, and functional.

actor

an external person, system, or other entity that interacts with the SUD in some way.

Feasibility

analysis of risk, costs and benefits relating to economics, technology, and user organization. Types: economic, technical, organizational, analysis, conceptual.

Organizational Feasibility

both the developing and using organizations readiness for the application.

1.meta-classes

classes whose instances are other classes ex: customer with subclasses for CashCustomer

2.whole class

composed object type

Triggers

condition, action or event that starts the use case.

success guarantees

conditions that will be true upon successful completion of a use case.

Iterative Project Life Cycle

cyclic repetition of analysis and design events or a spiral approach to development. Phases: Analyze and gather requirements, design, build prototype, evaluate and refine requirements, and engineer product to ensure complete documentation development.

3.generalization class

defines a group of similar objects ex: vehicle

3.part class

defines all the components of the whole class. ex: car is a whole class, motor is a part class

Class

defines the attributes and processesl the objects are the intances of the class definition.

Conceptual Feasibility

detailed functional definition of all external elements of the application, including screens, reports, data entry messages, and forms.

Economic Feasibility

elaborates costs of special hardware, software, personnel, office space, and forth for each implementation alternative.

Verification

establishes the correction of correspondence between software product and its specification.

Validation

establishes the fitness or quality of a software product for its operational purpose.

object

is an entity from the real world whose processes and attributes are modeled in a computerized application.

Object Orientation

is based on the notion of objects which encapsulate both data and processes on that data.

Abstract data type (ADT)

is the name used in some languages for the new, user-defined data type that encapsulates definitions of object data plus legal processes for that data. The major analysis activitities focus on defining objects, classes, and processes.

message

is the unit of communication between two objects. it contains an addressee and some ID of the requested process.

Class/Objects

lowest level of logical design entity. define a set of items which share the same attributes and processes, and manage the instances of the collection.

Configuration management

management of change after an application is operational.

object oriented Design

objective is to provide modularity to software by improving reuse of existing code and maintainability by breaking code into multiple components. Is the language independent, the implementation language doesn't actually need to be object oriented, as long as the programmers maintain proper disciple. Usually overly design and become complex. Slow at executing.

supplier object

one that performs a requested process

client object

one that requests a process from a supplier.

Implementation

period of time during which a software product is integrated into its operational environment and is phased into production use. Includes the completion of data conversion, installation, and training.

Initiation

period of time during which the need for an application is identified and the problem is sufficiently defined to assemble a team to begin problem evaluation.

SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)

referred to as the application development life cycle. • How the user explained it. • How the business analyst understood it • How the dev lead designed it • How the programmer wrote it • How the project manager described it • How the project was documented it • What operations installed • How the client was billed • How it was supported • What the client really needed

Analysis Feasibility

represents a time in which software product is defined and documented.

Minimal guarantees

smallest set of promises made to the stakeholders about the state of the SUD at the end of a scenario (successful or unsuccessful).

primary actor

stakeholder in the SUD that uses the final system to perform some function.

Preconditions

statements that must be true before a use case starts. These conditions are NOT checked anywhere in the use case—they are simply assumed to be true.

4. specialization class

subclass that reflects an is-a relationship, defininig a more detailed description of the generalization. ex: truck or tank

polumorphism

the ability to have the same process take different forms when associated with different objects. ex: process to perform comparison of two items to identify the larger of the two.

Retirement

the period of time in the software life cycle during which support for a software product is terminated.

Element

trigger, actors, preconditions, steps in the process, minimal guarantees, success guarantees, and quality requirements.


Ensembles d'études connexes

Cell Biology: Cellular Respiration

View Set

Surface Area and Volume: Solving Surface Area and Volume Problems

View Set

World History | Chapter 17: Lesson 2- The First Global Economic Systems

View Set

Chemistry 4.5 Electron Configuration

View Set

Cognitive Psychology: Chapter 13, Reasoning and Decision Making

View Set

Rich Dad, Poor Dad Robert Kiyosaki

View Set

Med Surg Cardiovascular, Hematologic, and Lymphatic Systems EAQs

View Set