Study Guides (248,075)
Canada (121,283)
Commerce  (94)
COMM 101 (53)

summary for midterm

8 Pages
Unlock Document

COMM 101
Roopa Reddy

3. the scope of S/W engineering the software process UNIFIED PROCESS -software development is process. -most software developers follow phases of lifecycle. -organizations phases differently such as requirements and specification phase = analysis phase -in 1999, published complete OO analysis and design methodology – unified 3 separate approaches. THE REQUIREMENTS PHASE -aim: explore and determine -what the client needs, not they want. 1. gain understanding of application domain (learn about specific environment) 2. build a functional/operational model for S/W -check what is the limit by clients: deadline, parallel running, portability, reliability, rapid response time, cost. -final product is not what client wants because : miscommunication, it is not what they need, misunderstanding requirements, missed deadlines, moving target ANALYSIS PHASE (SPECIFICATION) -aim: analyze and refine requirements – formal contract -requirements artifacts in simple human language for client, and analysis artifacts must be precise and complete for designers. -specification documentation is important to be corrected and completed because of testing and maintenance. -specification document must not have: contradictions, omissions, vague statements, and incompleteness. Software PROJECT MANAGEMENT PLAN (SPMP) -it is including budget and time estimating, deliverables, and milestones DESIGN PHASE -aim: to refine analysis phase until material is in a form that can be coded/implemented by programmers. To show “how” the software will do. -many non-functional requirements must be finalized CLASSICAL (STRUCTURED) VS. OBJECT ORIENTED -objects introduced in analysis workflow -interaction among objects are determined OO analysis workflow -objects are designed in OO design workflow and coded during OO implementation workflow -OO workflows are very smooth because of the interaction between the phases. *structured paradigm -analysis: determine what the product is supposed to do -architectural design: determine and extract software modules -detailed design: design modules -implementation: code the modules in an appropriate programming language *OO paradigm -analysis: determine what the product is supposed to do and extract the classes -design: design the objects and interaction among them -implementation: code the modules in an appropriate programming language THE IMPLEMENTATION PHASE -use selected implementation language -large software: development (coding) first and then implementation later -when modules are integrated, new problems may show up. TEST PHASE -test is responsibility of every developer, maintainer and SQA group. -traceability of artifacts (specification doc. -> requirements doc.) POST-DELIVERY MAINTENANCE -essential component of software development (the most expensive phase) -open-ended design -> flexible product -> easier to maintain -lack of documentation -design must include future maintenance 1. unit testing: test the new module with new data 2. integration testing: run modified software with new test 3. regression testing: run modified software with old test data and compare results with pre-change test results RETIREMENT -software can be un-maintainable because: 1) hardware and OS keep changing (should be implemented in it) 2) documents missing or inaccurate 3) a huge change in design has occurred DESIGN ARTIFACTS -bridge between analysis and implementation -design doc. -> specification doc. -client representative usually not present IMPLEMENTATION ARTIFACTS -each component is tested during implementation – unit testing -completed components are added incrementally and one at a time -integration testing is done to make sure the combined components work together: top down-nothing to show the client until all is done, bottom up-always have something to show client. -when product appears to be complete, it is tested as a whole – product testing -after completed product is installed on client’s computer, they test it – acceptance testing -implementation doc -> design doc. -COTS (commercial off-the shelf) software is released for testing by prospective clients -alpha: employees of vendor company use product for free -beta release: corrected alpha version is used in beta testing. Closer to the final. Advantage of alpha or beta release -get a head start, using new product -learn it before competitors Disadvantage of alpha or beta release -errors can slow down daily activity, damage company dBase, and cause frustration. 4. TEAM ORGANIZATION TEAM ORGANIZATION -specification and design may be done individually, but software development and implementation always done by different teams. -incorrect order of arguments, number of arguments and type of arguments can go wrong. *Brooks law: adding additional programmers to a team when product is late, can make product even later DEMOCRATIC TEAM APPROACH (Weinberg, 1970s) -team members “review” each other’s code and looking for faults -start through team until the end -team members don’t “evaluate” other members’ “performance” *advantage 1. positive att
More Less

Related notes for COMM 101

Log In


Join OneClass

Access over 10 million pages of study
documents for 1.3 million courses.

Sign up

Join to view


By registering, I agree to the Terms and Privacy Policies
Already have an account?
Just a few more details

So we can recommend you notes for your school.

Reset Password

Please enter below the email address you registered with and we will send you a link to reset your password.

Add your courses

Get notes from the top students in your class.