1/46
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
|---|
No study sessions yet.
Software
Instructions (computer programs) that when executed provide desired features, function, and performance
Software
Data structures that enable the programs to adequately manipulate information
Software
Documentation that describes the operation and use of the programs.
Software
Is developed or engineered, it is not manufactured in the classical sense.
Software
doesn't "wear out."
Custom-built
Although the industry is moving toward component-based construction, most software continues to be custom-built.
Open World Computing
new category of software. pervasive, distributed computing
Ubiquitous Computing
new category of software. wireless networks
Netsourcing
new category of software. the Web as a computing engine
Open Source
new category of software. "free" source code open to the computing community (a blessing, but also a potential curse!)
Adapted
Software must be _______ to meet the needs of new computing environments or technology.
Enhanced
Software must be ________ to implement new business requirements.
Extended to make it interoperable
Software must be ________ __ ____ __ _____________ with other more modern systems or databases.
re-architected
Software must be __-___________ to make it viable within a network environment.
Network Intensiveness
characteristic of webapps. A WebApp resides on a network and must serve the needs of a diverse community of clients.
Concurrency
characteristic of webapps. A large number of users may access the WebApp at one time.
Unpredictable Load
characteristic of webapps. The number of users of the WebApp may vary by orders of magnitude from day to day.
Performance
characteristic of webapps. If a WebApp user must wait too long (for access, for server-side processing, for client-side formatting and display), he or she may decide to go elsewhere.
Availability
characteristic of webapps. Although expectation of 100 percent availability is unreasonable, users of popular WebApps often demand access on a "24/7/365" basis.
Data Driven
characteristic of webapps. The primary function of many WebApps is to use hypermedia to present text, graphics, audio, and video content to the end-user.
Content Sensitive
characteristic of webapps. The quality and aesthetic nature of content remains an important determinant of the quality of a WebApp.
Continuous Evolution
characteristic of webapps. Unlike conventional application software that evolves over a series of planned, chronologically-spaced releases, Web applications evolve continuously.
Immediacy
characteristic of webapps. Although immediacy—the compelling need to get software to market quickly—is a characteristic of many application domains, WebApps often exhibit a time to market that can be a matter of a few days or weeks.
Security
characteristic of webapps. Because WebApps are available via network access, it is difficult, if not impossible, to limit the population of end users who may access the application.
Aesthetics
characteristic of webapps. An undeniable part of the appeal of a WebApp is its look and feel.
Software Engineering
the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines.
Software Engineering
(1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software: that is, the application of engineering to software.
○ The study of approaches as in (1).
Quality focus, process model, methods, tools
4 layers of a layered technology in software engineering (bottom up)
Work tasks, work products, milestones and deliverables, qa checkpoints
4 framework activities under the process framework
Communication, planning, modelling, construction, deployment
5 parts of framework activities
Umbrella Activities
these bulletpoints refer to what?
• Software Project Management
• Formal Technical Reviews
• Software Quality Assurance
• Software Configuration Management
• Work Product Preparation and Production
• Reusability Management
• Measurement
• Risk Management
Understand the problem, plan a solution, carry out the plan, examine the result for accuracy
4 steps of the essence of practice according to George Polya
George Polya
father of modern problem solving
Stakeholders
Who has a stake in the solution to the problem? That is, who are the ____________?
Data, functions, features
What are the unknowns? What ____, _________, and ________ are required to properly solve the problem?
Smaller
Can the problem be compartmentalized? − Is it possible to represent _______ problems that may be easier to understand?
Analysis model
Can the problem be represented graphically? − Can an ________ _____ be created?
Patterns
Have you seen similar problems before? − Are there ________ that are recognizable in a potential solution? Is there existing software that implements the data, functions, and features that are required?
Reusable
Has a similar problem been solved? − If so, are elements of the solution ________?
solutions
Can subproblems be defined? − If so, are _________ readily apparent for the subproblems?
design model
Can you represent a solution in a manner that leads to effective implementation? − Can a ______ _____ be created?
traceable
Does the solution conform to the plan? − Is source code _________ to the design model?
correctness proofs
Is each component part of the solution provably correct? − Has the design and code been reviewed, or better, have ___________ ______ been applied to algorithm?
testing strategy
Is it possible to test each component part of the solution? − Has a reasonable _______ ________ been implemented?
validated
Does the solution produce results that conform to the data, functions, and features that are required? − Has the software been _________ against all stakeholder requirements?
The Reason It All Exists, KISS, Maintain the Vision, What You Produce Others Will Consume, Be Open to the Future, Plan Ahead for Reuse Think!
7 hooker's general principles
business
Every software project is precipitated by some ________ need— − The need to correct a defect in an existing application− The need to the need to adapt a 'legacy system' to a changing business environment− The need to extend the functions and features of an existing application, or − The need to create a new product, service, or system.