types of software: system: progs to service other programs, either determinate or indet. info., heavy interaction w/
hardware, multiple user usage, concurrent operations, require scheduling, resource sharing, complicated process
management, complex data structs, multiple extern. interfaces. application: standalone progs solve a specific business need,
facilitates business ops or management/tech. decision making, controls business funcs in real time, e.g. point of sale.
engineering/scientific: number crunching algs, now also design, system simulation, interactive apps, take on real time &
system software characts.
embedded: resides in product or system, implement & control features for end-user & system itself,
limited, esoteric functions (keypad for microwave), or significant & control capability (functions in car like feul control,
product-line: specific capability for use by different customers, esoteric marketplace (inventory control products),
address mass consumer markets (word processing, multimedia, financial apps).
web apps: set of linked gypertext files,
evolving into sophisticated computing environments, provide standalone features, computing functions, content to end user,
also integrated w/ corporate databases & business apps. AI: nonnumerical algs to solve complex problems, not amenable to
computation or analysis, robotics, pattern recognition, neural networks.
ubiquitous computing: wireless.
that benefit targeted end users over www.
open source: distribution of source code for system apps so customers can make
failure curves: hardware: bathtub, bad at beginning when defects hurt & at end, time hurts it.
be idealized & approach 0, defects will be corrected, doesn’t wear out but deteriorates.
generic framework activities:
communication: w/ customer & stakeholders, includes requirements gathering, etc.
planning: est. plan for soft. eng. work
following, describes tasks conducted, risks likely, resources required, work products produced, schedule.
that allow developer & cust. to understand soft. req. & design to achieve them.
construction: combines code generation &
testing to uncover errors.
deployment: delivery to cust. for eval. & feedback.
CMMI: capability maturity model integration:
proc meta-model defines proc characteristics that should exist if org wants to est soft proc that’s complete, specific goals:
establish characteristics that exist if activities implied by a process area are to be effective.
specific practices: refine goal into
sg1: estab. estimates, sp’s: estimate scope, establish estimates of work product & task attribute, define
life cycle, det. estimates of effort & cost; sg2: develop proj. plan, sp’s: est. budget & sched., ident proj risks, plan data manag,
plan proj resources, plan needed knowledge & skills, plan stakeholder involvement, est proj plan; sg3: obtain commitment to
plan, sp’s: review plans that affect proj, reconcile work & resource levels, obtain plan commitment.