Save
Busy. Please wait.
Log in with Clever
or

show password
Forgot Password?

Don't have an account?  Sign up 
Sign up using Clever
or

Username is available taken
show password


Make sure to remember your password. If you forget it there is no way for StudyStack to send you a reset link. You would need to create a new account.
Your email address is only used to allow you to reset your password. See our Privacy Policy and Terms of Service.


Already a StudyStack user? Log In

Reset Password
Enter the associated with your account, and we'll email you a link to reset your password.
focusNode
Didn't know it?
click below
 
Knew it?
click below
Don't Know
Remaining cards (0)
Know
0:00
Embed Code - If you would like this activity on your web page, copy the script below and paste it into your web page.

  Normal Size     Small Size show me how

CS 3365 Exam 1

TermDefinition
What is software? Computer programs and associated documentation. Software products may be developed for a particular customer or may be developed for a general market.
From the following list, select the most common software project failures: Failure to use software engineering methods Increasing system complexity Failure to use software engineering methods
There are two main types/categories of software products: Generic products Customized products
Give examples of customized products: Software that is commissioned by a specific customer System program to manage a specific bank Software to operate one company’s machinery
software process a sequence of activities that leads to the production of a software product.
There are four software process activities that are common to all software processes: Software specification Software development Software validation Software evolution
Entertainment systems (1 of 8 applications) These are systems that are primarily for personal use to entertain the user
Stand-alone applications(2 of 8 applications) These are application systems that run on a local computer (PC/Phone) includes all necessary functionality and do not need a network connection
Systems of systems(3 of 8 applications) These are systems that are composed of a number of other software systems (Multiple systems will work together to provide a more powerful system)
Interactive transaction-based(4 of 8 applications) Applications that execute on a remote computer and are accessed by users from their own PC’s or terminals (remote systems)
Embedded control systems(5 of 8 applications) These are software control systems that control and manage hardware devices, numerically there are more embedded systems than any other type of system
Batch processing(6 of 8 applications) These are business systems that are designed to process data in large batches
Data Collection(7 of 8 applications) These are systems that collect data from their environment using a set of sensors and send that data to other systems for processing (cloud-based systems)
Modeling and Simulation(8 of 8 applications) These are systems that are developed by scientists/engineers to model physical processes or situations, which include many, separate, interacting objects
(Ethical Responsibilities) Confidentially Engineers should normally respect the confidentiality of their employees or clients irrespective of whether or not a formal confidentiality agreement has been signed
(Ethical Responsibilities) Competence Engineers should not misrepresent their level of competence, should not knowingly accept work that goes beyond their competence
(Ethical Responsibilities) Intellectual Property Rights Engineers should be aware of local laws governing the use of intellectual property such as patents, copyright, etc.
(Ethical Responsibilities) Computer Misuse Software engineers should not use their technical skills to misuse other people’s computers, computer misuse ranges from relatively trivial to playing games on employer machines and extremely serious like dissemination of viruses
Give examples of Generic products: Stand-alone systems that are marketed and sold to anyone Photoshop software, project management tools
plan-driven approach processes where all of the process activities are planned in advance and progress is measured against the plan
agile approach plan incrementally, it is easier to change the process to reflect changing customer requirements
(fundamental activities that are common to all software processes) Validation checking that it does what the customer wants
(fundamental activities that are common to all software processes) Evolution changing the system in response to changing customer needs
(fundamental activities that are common to all software processes) Specification defining what the system should do
(fundamental activities that are common to all software processes) Design and implementation defining the organization of the system and implementing the system
(Software process model) The waterfall model Plan-driven model, separate and distinct phases of specification and development (lots of analysis and documentation are require before implementation begins)
(Software process model) Incremental development System is developed as a series of versions (increments), with each version adding functionality to the previous version (Specification, development, and validation are interleaved)
(Software process model) integration and configuration The system assembled from existing configurable components (reusable components/systems)
(three common stages of software testing)Component testing Individual components are tested independently, without other system components. Components may be functions or objects or coherent groupings of these entities.
(three common stages of software testing)System testing Testing of the system as a whole. This process is concerned with finding errors that result from unanticipated interactions between components and component interface problems. (must meet functional & non-functional requirements)
(three common stages of software testing)Customer testing This is the final stage in the testing process before the system is accepted for operational use. Testing with customer data to check that the system meets the customer’s needs.
software prototyping Is an initial version of a system used to demonstrate concepts and try out design options
software evolution Changing the system in response to changing customer needs
Plan-Driven Development: Approach to software engineering based around separate development stages with the outputs to be produced at each of these stages planned in advanced.
Agile Development: (for small products) Specification, design, implementation, and testing are inter-leaved and outputs from the development process are decided through a process of negotiation during the software development process.
types of product development agile method is be more suitable: Developing small or medium sized product A product that has many requirement changes over time.
agile development techniques: Scrum Extreme Programming
scrum & benefit: An Agile Method focuses on managing iterative development rather than specific agile practices (face to face meetings) -Can get feedback from the customer quickly -The whole team has visibility of the product.
(Roles in Scrum) Scrum master The facilitator who focuses completely on the process (project manager)
(Roles in Scrum) Team In various disciplines who are jointly responsible for the result
(Roles in Scrum) Product owner Key stakeholder with a vision who provides direction to the team for each sprint
What activities occur at a daily scrum meeting? Discuss the progress of the project and what has been done. Prioritizes work to be done at that day.
User Stories: Use natural language to describe a situation User requirements are expressed as user stories or scenarios. Usually written on cards and the development team breaks them down into implementation tasks.
velocity: An estimate of how much product backlog effort that a team can cover in a single sprint, understanding a teams velocity can help estimate what can be covered in a sprint and provides a basis for measuring improving performance
product backlog: Staring point for planning (list of work to be done on the project)
sprint planning: the team pulls a chunk from that list and decides how to complete it (what to achieve, who is doing what, etc.)
sprint review: At the end of the sprint, work should be potentially shippable (Team conducts a sprint review of the product with stakeholders)
Multi-team Scrum: Scrum has been adapted for large-scale development --> Role Replication Product Architects Release Alignment Scrum of Scrums
Extreme Programming: A very influential agile method, developed in the late 1990s, that introduced a range of agile development techniques (extreme approach to agile dev techniques)
(Extreme Programming) test-first development An automated unit test framework is used to write tests for a new piece of functionality before that functionality itself is implemented
(Extreme Programming) refactoring All developers are expected to refactor the code continuously as soon as possible code improvements are found (code simple/maintainable)
(Extreme Programming) on-side customer A representative of the end-user of the system (customer) should be available full time for the use of the XP team
(Extreme Programming) small releases Minimal useful set of functionality that provides business value which is developed first, releases of the system are frequent and incrementally add functionality to the first release
(Extreme Programming) collective ownership Pairs of developers work on all areas of the system, so that no islands of expertise develop and all the developers take responsibility for all code
User Requirements: Statements in a natural language plus diagrams of the services that the system provides/operational constraints (Written for Customers)
System Requirements: Structured document setting out detailed descriptions of the systems functions, services, and operational constraints (defines what should be implemented so it can be a part of the contract between client and contractor)
common stakeholders of a system? System owners External stakeholders End users System managers
attributes of non-functional requirements: Security Memory usage constraints Performance speed Constrain on language that needs to be used (ex: C++) Legislative requirements
Requirements engineering (RE) involves three key activities Requirements elicitation Requirements specification Requirements validation
Requirements validation: the process of confirming that the system meets its objectives and functions as intended
Requirements specification: a process of jotting down all the system and user requirements in the form of a document
Requirements elicitation/requirements discovery: Involves technical staff working with customers to find out about the … application domain the services the system should provide Systems operational constraints
Non-Functional requirements : requirements describe the general properties of a system
Functional requirements: define what a product must do, and what its features and functions are
software requirement document: System Customers Managers System engineers System test engineers System maintenance engineers
user requirements document (shall): normally indicates a mandatory requirement.
user requirements document (should): indicates a desirable but not essential requirement
Why are "user cases" used: To describe interactions between users and a system
Reasons for requirement changes: poorly defined requirements requirements modified by stakeholders budgetary or schedule-related constraints evolving technology/market trends.
Disadvantages tp using configuration & integration Requirements may be compromised to reusable components not having what user may need Loss of control over evaluation due to reused elements
Non-functional requirements EX: Product Requirements: Login within 4 seconds Organizational requirements: MYSQL database Server External Requirements: Accessible to people with dissabilities
Functional requirements EX: Users should be able to login Allow users to sign up for a new account View account balance Transfer Funds/Pay Bills
Created by: DylanCanalesMane
Popular Computers sets

 



Voices

Use these flashcards to help memorize information. Look at the large card and try to recall what is on the other side. Then click the card to flip it. If you knew the answer, click the green Know box. Otherwise, click the red Don't know box.

When you've placed seven or more cards in the Don't know box, click "retry" to try those cards again.

If you've accidentally put the card in the wrong box, just click on the card to take it out of the box.

You can also use your keyboard to move the cards as follows:

If you are logged in to your account, this website will remember which cards you know and don't know so that they are in the same box the next time you log in.

When you need a break, try one of the other activities listed below the flashcards like Matching, Snowman, or Hungry Bug. Although it may feel like you're playing a game, your brain is still making more connections with the information to help you out.

To see how well you know the information, try the Quiz or Test activity.

Pass complete!
"Know" box contains:
Time elapsed:
Retries:
restart all cards