Introduction to Software Engineering

Reviews
Introduction to Software Engineering CSCI 577a LCA Workshop MBASE LCO Wrap-Up Congratulations! You‟re engaged to your project (LCO) Now on to marriage … (LCA) Suggested Effort Graph (for success) total effort Product demo time LCO LCA IOC Effort Graph CS3156 S99 http://www.columbia.edu/~cl363/research/images2.html total effort LCO LCA IOC date LCO – where are you at? Success criteria: Identify at least one feasible architecture LCO ARB Common Pitfalls • • • • • • • • • • LCP 3.1 repeating guidelines LCP 2.2 no schedules, no specific tasks LCP 2.1 no schedule for lifecycle and stages LCP 4.1 effects of risk on schedule and responsibilities LCP 4.3 repeating guidelines FRD 2.1 not matching with OCD org. goals for value FRD 4 no risk exposure, risk mitigation feasibility missing SSAD architectural feasibility arguments belong in FRD SSAD behavior model not starting with OCD capabilities SSRD+OCD goals “R” and “S” not referencing other goals and capabilities OCD 3.3 focus on changes to org. activities, not system use # OCD project goals < SSRD project goals # OCD L.O.S. < SSRD L.O.S. # OCD Capabilities < SSAD behaviors • • • • One View: Models Needing Integration • Win-Win • Business Case Analysis • Software Warranties • QFD • 10X • Six Sigma • Award Fees • JAD • RAD Success Models Product Models •UML •CORBA • COM •Architectures •Product Lines •OO Analysis & Design •Domain Ontologies •COTS • GOTS •Spiral •Waterfall •Risk Management •Business Process Reengineering •CMM’s • Peopleware •IPT’s • Objectory •Groupware MBASE Process Models • COCOMO • COCOTS • Checkpoint • System Dynamics • Metrics • - ilities • Simulation and Modeling Property Models Getting From A to B LCP SSAD SSRD FRD LCP OCD MBASE Integration Framework MBASE Conceptual Framework MBASE WinWin Spiral Integration of MBASE System Definition Elements Domain Description Organization Background System Analysis Statement of Purpose Project Goals System Requirements System Definition Project Requirements Organization Goals Levels of Service Levels of Service Requirements Organization Activities Organization Entities System Capabilities Capability Requirements System Design Component Model Object Model Activity Model Interaction Model Behavior Model Enterprise model Operations Model Class Model Operational Concept Description (OCD) System and Software Requirements Definition (SSRD) System and Software Architecture Description (SSAD) Candidate 577a Risk Items • Personnel: commitment; compatibility; ease of communication; skills (management, Web/Java, Perl, CGI, data compression, …) • Schedule: project scope; IOC content; critical-path items (COTS, platforms, reviews, …) • COTS do not match requirements • Rqts, UI: mismatch to Library user needs • Performance: #bits; #bits/sec; overhead sources • Stakeholder expectation model clashes Requirements and Expectations: Domain Model Clashes •Easy/hard things for software people “If you can do queries with all those ands, ors, synonyms, data ranges, etc., it should be easy to do natural language queries.” “If you can scan the document and digitize the text, it should be easy to digitize the figures too.” •Easy/hard things for librarians “It was nice that you could add this access feature, but it overly (centralizes, decentralizes) control of our intellectual property rights.” “It was nice that you could extend the system to serve the medical people, but they haven’t agreed to live with our usage guidelines.” The Road Ahead: LCA Success criteria: Demonstrate that you are committed to a feasible architecture Pre-wedding plans • What do you need to do between LCO and LCA? – Design • Resolve all significant architectural issues • Advanced prototyping – Refine • • • • Resolve model clashes Add significant details Remove non-significant details - no “fluff” Schedule, roles, commitments, effort estimates, etc. – Justi-fine! (Justify) • Assure architecture is faithful to concept • Assure value of system vs. stakeholder investment • Reduce risk exposure What does this involve? • Several iterations through MBASE models – Model integration and integrity paramount • Refine WinWin negotiations – Close out old issues – Cover all win conditions – Identify and deal with new win conditions • Writing code – Advanced prototyping to resolve risky architectural issues – Head start on implementing critical requirements (for assurance, schedule, etc.) Life Cycle Architecture (LCA) more formal, with everything tracing upward and downward no major unresolved issues or items, and closure mechanisms identified for any unresolved issues or items (e.g., “detailed data entry capabilities will be specified once the Library chooses a Forms Management package on February 15”) no more TBD's there should no longer be any "possible" or "potential" elements (e.g., Entities, Components, …) no more superfluous, unreferenced items: each element (e.g., Entities, Components, …) either should reference, or be referenced by another element. Items that are not referenced should be eliminated, or documented as irrelevant Win Win Spiral Anchor Points (Risk-driven level of detail for each element) Milestone Element Definition of Operational Concept System Prototype(s) Definition of System Requirements Life Cycle Objectives (LCO) • Top-level system objectives and scope - System boundary - Environment parameters and assumptions - Evolution parameters • Operational concept - Operations and maintenance scenarios and parameters - Organizational life-cycle responsibilities (stakeholders) Life Cycle Architecture (LCA) • Elaboration of system objectives and scope of increme • Elaboration of operational concept by increment Definition of System and Software Architecture Definition of LifeCycle Plan Feasibility Rationale • Exercise key usage scenarios • Exercise range of usage scenarios • Resolve critical risks • Resolve major outstanding risks • Top-level functions, interfaces, quality attribute levels, • Elaboration of functions, interfaces, quality attributes, including: and prototypes by increment - Growth vectors and priorities - Identification of TBD’s( (to-be-determined items) - Prototypes • Stakeholders’ concurrence on their priority concerns • Stakeholders’ concurrence on essentials • Choice of architecture and elaboration by increment • Top-level definition of at least one feasible architecture - Physical and logical components, connectors, - Physical and logical elements and relationships configurations, constraints - Choices of COTS and reusable software elements - COTS, reuse choices • Identification of infeasible architecture options - Domain-architecture and architectural style choices • Architecture evolution parameters • Elaboration of WWWWWHH* for Initial Operational • Identification of life-cycle stakeholders Capability (IOC) - Users, customers, developers, maintainers, interoperators, - Partial elaboration, identification of key TBD’s for later general public, others increments • Identification of life-cycle process model - Top-level stages, increments • Top-level WWWWWHH* by stage • Assurance of consistency among elements above • Assurance of consistency among elements above - via analysis, measurement, prototyping, simulation, etc.All major risks resolved or covered by risk managemen • - Business case analysis for requirements, feasible architectures plan *WWWWWHH: Why, What, When, Who, Where, How, How Much Common Subsystem Macroprocess Development Life Cycle Inception Elaboration Architecture Iterations Construction Release Iterations SSR 0 IPDR 10 PDR 15 CDR 20 25 5 Contract award (LCO) Competitive design phase: •Architectural prototypes •Planning •Requirements analysis 9/1/99 Architecture baseline under change control (LCA) Early delivery of “alpha” capability to user RATIONAL Software CorporatIon 21 The rest of the semester…. • Remember the four MBASE project phases: – – – – – Inception Elaboration Construction Transition (Then you spend your life supporting it.) • Elaboration ends approximately at the time of your LCA ARB. Then, construction begins after RLCA in CS577b (though you may start sooner than that!). Get ready for LCA … Tasks for LCA: 1. Finalize your OCD, SSRD. 2. Get your SSAD to a point where you can construct something from it. 3. Prove to us that you‟re organized enough to finish on time, in your LCP. 4. Use your FRD to prove that the rest of the documents are sane, and that your project will work. LCA 1: Finalize OCD, SSRD • Finalize your OCD, SSRD so that your other documents can build on a solid base. – Now that you‟ve had one review, work out remaining open requirements with your customer. This may not be completely possible, so do your best. – Remember that your OCD/SSRD can and should be agnostic toward specific implementations: get the “what” of your project down, leave the “how” to the SSAD. – Probably your OCD and SSRD won‟t have to change much between LCO and LCA. But if they do need to, make the changes soon, and show them to the rest of your group! LCA 2: Finish your SSAD, 1 • Your SSAD is the most critical document in your LCA package/presentation. – Remember, your goal is to demonstrate to use ONE architecture that your group can build and will satisfy the requirements. – You may have had architecture options at LCO. By LCA, decide on one. You make this decision based on your customer‟s input, advice from your TAs, and (in particular) a series of risk-driven prototypes (riskdriven means your prototype the hard parts). LCA 2: Finish your SSAD, 2 • How to decide if your SSAD is good? – Your SSAD is doing the right thing when it accurately maps the SSRD onto a set of components, each with a specific design. – Your teams programmers should be able to take the SSAD and implement each object, making the „how‟ decisions in program code without wasting thought on the „what‟ of each object, and with confidence that the objects will, when assembled together, yield the finished product. (That is, your architecture should keep your programmers from thinking too much.) – A good SSAD directly inspires your construction schedule: dependencies should be clear, so you can identify which pieces have to be built first, and which can be built in parallel. LCA 3: LCP, 1 • Your LCP is critical to finishing your product once you know how to do it (SSAD). • Identify a few (2-5) iterations, or phases: – For each, identify specific tasks for each member, by name and role (“In iteration 2, Fred will be constructing the User Interface API while Jane tests the DB interface constructed in iteration 1 (see SSAD 3.x.x. and IOC Test Plan 2.x, 2.y).”) – For each, identify milestones (finished objects and components, test results, reports, reviews, deliverables, meetings). – Set durations, and tentative specific dates, as best you can. LCA 3: LCP, 2 • Things for specific sections: – In 4.1, “Risk Management”, identify the schedule effects (in terms of durations and dates of your iterations) if a risk item happens. – In 4.3, “Reviews”, you‟re being prompted to schedule reviews other than the mandated LCO, LCA, IOC. Schedule formal or informal reviews of specific aspects of your project. Reviews might include your customer or a TA, or might be internal reviews among a subset of your group. The ends of iterations are good times for internal reviews. • In general, be as specific, but realistic, as you can. This hard, but very important (and it will make your life easier in the long run….) LCA 4: FRD • Use the FRD to validate your process. In it, you can show how cool you are. And, you can cover your ---. – In the business case analysis (2.1), don‟t think that your project costs nothing just because the customer doesn‟t have to pay out any money for it. It costs your time, and some of the customers. Show that the time expended will be worthwhile. – In the “requirements satisfaction” section (2.2), show specifically how your system will implement the requirements, by referencing (in a table?) the SSRD and SSAD. – In section 3, “process rationale”, show that your schedule and organization and your contingency plans are in line with the requirements…and the really core requirements. Making that schedule • There are several key goals for your project schedule: – Break the construction down into iterations, so you‟ll catch overruns early. – Leave time for testing, debugging, documenting, reviews and inspections! – Schedule for maximum concurrency. That is, so that as many things may get done at the same time as possible. – Make your schedule consistent with your IOC iteration plans and test plans. – Be prepared for overruns. Leave extra time and resources, and have contingency plans ready. Communicating schedules: PERT charts • A pert chart shows a flow of tasks. • Check points are clearly indicated, but durations aren‟t. • There are several syntaxes. A basic one: – Tasks are represented by boxes, labeled by name and dates or duration. – Time flows from left to right. Tasks that happen at the same time are aligned vertically. – Arrows connect boxes to indicate how one task enables or gives way to another. PERT example Gannt charts • A Gannt chart is optimized for comparing the durations and relative scheduling of tasks. • Gannt charts aren‟t particularly good at denoting checkpoints or other divisions of the schedule. • Gannt syntax: – A timeline, marked with dates, runs from left to right. – Tasks are listed by name down the left side. – The duration of task in time is marked by a horizontal line. Gannt example

Related docs
Software Engineering
Views: 131  |  Downloads: 14
Concise Introduction to Software Engineering
Views: 74  |  Downloads: 6
Introduction to Software Engineering
Views: 140  |  Downloads: 40
Introduction to Software Engineering
Views: 1  |  Downloads: 0
CSCI0320 Introduction to Software Engineering
Views: 37  |  Downloads: 1
Software Engineering
Views: 467  |  Downloads: 72
Introduction to Software
Views: 25  |  Downloads: 1
Introduction to the software.
Views: 3  |  Downloads: 0
Introduction to Software
Views: 70  |  Downloads: 2
Introduction to Software Engineering
Views: 20  |  Downloads: 3
Other docs by StuartSpruce
EMPLOYMENT VERIFICATION
Views: 525  |  Downloads: 25
Employee Arbitration Agreement NOT DONE
Views: 207  |  Downloads: 0
adopt320
Views: 140  |  Downloads: 0
adr100
Views: 112  |  Downloads: 0
Induction for Hypnosis
Views: 663  |  Downloads: 55
Sample Open-Ended Security Agreement
Views: 1469  |  Downloads: 41
Interview Questions to Ask Job Candidates1
Views: 902  |  Downloads: 90
Intraware Inc Ammendments and Bylaws
Views: 211  |  Downloads: 0
Employee termination contract
Views: 1234  |  Downloads: 31
Notice to Officer of Removal By Board
Views: 196  |  Downloads: 3
Alliant Techsystems Inc Ammendments and By laws
Views: 170  |  Downloads: 0