CS2103 - Lecture 10 Processes and Models
CS2103 - Lecture 10 Processes and Models CS2103
Popular in Software Engineering
Popular in Quantitative Methods
This 4 page Class Notes was uploaded by Jerry Tan on Friday October 23, 2015. The Class Notes belongs to CS2103 at National University of Singapore taught by Damith C. Rajapakse in Summer 2015. Since its upload, it has received 20 views. For similar materials see Software Engineering in Quantitative Methods at National University of Singapore.
Reviews for CS2103 - Lecture 10 Processes and Models
Report this Material
What is Karma?
Karma is the currency of StudySoup.
You can buy or earn more Karma at anytime and redeem it for class notes, study guides, flashcards, and more!
Date Created: 10/23/15
National University of Singapore NUS CS2103 Software Engineering AY2015 SEM 1 Lecture 10 Process amp Models Friday 23rd October 2015 By Jerry Tan Si Kai CS2103 Software Engineering Lecture 10 Polishing the GEM Software Development Life Cycle SDLC process models Types of process models Building blocks Sequential AKA waterfall Analyze design code test release Pros Good if requirements are wellunderstood fixed and effort predictable Cons High chances of running into a deadline without a working prototype Iterative Depth first Building components first then assembling everything together to have a final working product Pros Good for fuzzy and evolving requirements Iterative Breadth first Building working product from the beginning and then building the next iteration Pros Good for fuzzy and evolving requirements Actual Process Models Unified Process by the 3 Amigos Jacobson Booch Iames Rumbaugh also designed the Unified Modelling Language UML Varying amount of work done at different phases The work can be categorized in the following disciplines Business Modeling Requirements Analysis and design Implementation Test Deployment Agile Software Development Agile Manifesto Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan Lightweight processes are favored Examples of Agile Processes in practice today SCRUM and XP Extreme Programming XP Extreme Programming Kent Bent proponent of XP came up with the Test Driven Development as well Rules pair programming one person codes the other person writes the tests Both swap roles constantly This way both write better quality code and each learns about the other s code Scrum Programming Every iteration is called a sprint Each sprint is supposed to clear up the backlog Scrum daily scrum meetings Stand up meeting in the morning everyday Step1 Talk about what you did yesterday Step2 Talk about what you are doing today Step3 Talk about what is in your way Case studies FACEBOOK Code reviews Mark Zuckerberg sometimes review code personally Automated testing Pushblocking tests tests that run automatically when you push your code so that if any tests fail the push will not go through TEAMMATES Code review FIREFOX Multiple repos code gets tested and propagated through the repos at every stage 20 weeks before the code gets released to the public CMMI Capability Maturity Model Integration Carnegie Mellon certification Level 1 Initial Processes unpredictable Level 2 Manage processes characterized for projects and is often reactive Level 3 Defined processes characterized for the organization and is proactive Level 4 Quantitatively Managed Processes measured and controlled Level 5 Optimizing Focus on process improvement Why is this important Private companies probably won t need it but companies surviving on government contracts will need it They need to prove that they are serious enough Part 2 Modelling Models are simple representation of reality Why model 1 Analysis 2 Communication 3 As ablueprint Model is language independent If you have model as a blueprint you can generate code in different languages However for that to happen you need very detailed notation which means we are back to square one ModelDriven Development MDD There are models describing the Problem Domain and the Solution Domain 2 main classes of UML diagrams 1 Structural 2 Behavioral Structural UML Diagrams Deployment diagram Package diagram eg Java API 00 Domain Model Component Diagram Composite structure diagram Behavioural Diagram built to understand and support work ow Activity diagram analogous to ow charts Use case diagram State machine diagram to model statedependent behaviour 0 Input and output transitions Timing diagrams Interaction overview diagram same as activity diagram except there is sequence diagram within each activity box Communication diagram shows interactions between objects
Are you sure you want to buy this material for
You're already Subscribed!
Looks like you've already subscribed to StudySoup, you won't need to purchase another subscription to get this material. To access this material simply click 'View Full Document'