CS5391, course pack #6 Can Internet-based application(IBA) be engineered? IEEE software, September/October 1998, pp.104-110 IEEE software, September/October.

Slides:



Advertisements
Similar presentations
Design Validation CSCI 5801: Software Engineering.
Advertisements

Software Development Life Cycle. Why Do We need Software Development Models Helps to make sure that we cover all bases during planning and implementation.
AGILE DEVELOPMENT Outlines : Quick Look of agile development Agility
Damian Gordon.  Static Testing is the testing of a component or system at a specification or implementation level without execution of the software.
The Software Project Management Discipline Succes software projects require careful planning and good use of iterative approaches. Understanding risks.
Gu & Maher University of Sydney, October 2004 DECO2005 Monitoring Team Process.
Human Computer Interaction G52HCI
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
SE is not like other projects. l The project is intangible. l There is no standardized solution process. l New projects may have little or no relationship.
Team Work and Creativity Why work in a team? I can do it better myself.
Software Development Models: Waterfall and Spiral Sung Hee Park Department of Mathematics and Computer Science Virginia State University August 21, 2012.
Introduction to Systems Analysis and Design
© 2008 Prentice Hall11-1 Introduction to Project Management Chapter 11 Managing Project Execution Information Systems Project Management: A Process and.
Project Execution.
Software Configuration Management
Sharif University of Technology Session # 4.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Software Engineering Introduction. Why are you here? …alternatively, why do we think you need to be here? Why a course on software engineering? How is.
What is Software Engineering? the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software”
IT Systems Analysis & Design
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Web Project Management Nazia Hameed COMSATS University of Science and Technology Islamabad.
Software Project Failure Software Project Failure Night Two, Part One CSCI 521 Software Project Management.
Understand Application Lifecycle Management
Chapter 2 소프트웨어공학 Software Engineering 임현승 강원대학교
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
Industrial Software Project Management Some views on project managing industrial and business software projects.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Lecture 3 Managing the Development Project SFDV Principles of Information Systems.
Lecture 11 Managing Project Execution. Project Execution The phase of a project in which work towards direct achievement of the project’s objectives and.
University of Sunderland CIFM03Lecture 2 1 Quality Management of IT CIFM03 Lecture 2.
1 SWE Introduction to Software Engineering Lecture 4.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Leadership. Who is a leader ? Who is one leader that you admire ?? & why ??
Iterative Development Royce, “Successful Software Management Style: Steering and Balance”, IEEE Software sep/oct Sp8Jan22iterdev2.
BSc Honours Project Introduction CSY4010 Amir Minai Module Leader.
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
Lecture 4 – XP and Agile 17/9/15. Plan-driven and agile development Plan-driven development A plan-driven approach to software engineering is based around.
Software Project Management Lecture # 2 Originally shared for: mashhoood.webs.com.
THE CDIO APPROACH TO ENGINEERING EDUCATION: 3. Designing and Integrating Design-Implement Experiences November 2007.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Virtually Agile Astro Sabre (Matt Ganis) IBM, Senior Technical Staff Member Hawthorne, NY - September 20, 2007.
Stand Up Comedy Project/Product Management
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Planning Extreme programming
T Iteration Demo Tikkaajat [PP] Iteration
Modern Systems Analysis and Design Third Edition Chapter 2 Succeeding as a Systems Analyst 2.1.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
IT323 - Software Engineering 2 1 Tutorial 4.  List the main benefits of software reuse 2.
CompSci Today’s topics Industry Practice Software Engineering Upcoming The Killer Robot Reading Great Ideas, Chapters 7.
GROUP PresentsPresents. WEB CRAWLER A visualization of links in the World Wide Web Software Engineering C Semester Two Massey University - Palmerston.
BSc Honours Project Introduction CSY4010 Amir Minai Module Leader.
I N T HE N AME OF G OD. T IME T O M ARKET (TTM) W HAT IS TTM ? time to market ( TTM ) is the length of time it takes from a product being conceived until.
PROJECT MANAGEMENT Software Engineering CSE
1 Software Requirements Descriptions and specifications of a system.
Lecture 1 Page 1 CS 111 Summer 2013 Important OS Properties For real operating systems built and used by real people Differs depending on who you are talking.
Software Engineering Salihu Ibrahim Dasuki (PhD) CSC102 INTRODUCTION TO COMPUTER SCIENCE.
The Development Process of Web Applications
Project Management Managing Project Execution
Software Quality Engineering
IT Systems Analysis & Design
Software Requirements analysis & specifications
Chapter 7 Software Engineering.
TEAM BUILDING.
Presentation transcript:

CS5391, course pack #6 Can Internet-based application(IBA) be engineered? IEEE software, September/October 1998, pp IEEE software, September/October 1998, pp Moderator: Roger S. Pressman Moderator: Roger S. Pressman Presented by: Wei Ding

Background A virtual roundtable was conducted over the Internet in June Participants: Software development leaders some of them are “old-line” software engineering proponents others focus solely on Internet-based software Moderator: Roger S. Pressman

1 st QUESTION “ Can Internet-based systems be engineered in the conventional sense of the term? If not, what makes them so different?” Some people think that any important product or system is worth engineering. That’s mean before starting to build them, it’s better to understand the problem, design a solution, implement them in a solid way, test it thoroughly, and have some mechanism for ensuring the quality. Many web developers think their world is really different and that conventional software engineering approaches simply don’t apply.

Differences The much shorter development times and product life cycles An IBA must be conceived, planned and produced in record time(days or months). The faster, new tools are needed Only the specific project’s indicated purpose need to be planned and designed.

Argument Not all parts of an IBA are produced in record time. Web pages are volatile and disposable The back-end databases are fairly stable and slow to change The top critical requirements and suitable architecture derived from engineering, cost, and other constraints. The system should be evolved and regularly measured against the last update of quantified requirements. Time-to-market and many other features of Web development are not unique to Web applications. The problem is fuzzy(unspecified), customers don’t know how to specify their requirement. We need an approach that allow for more freedom and flexibility as the project changes

Arguments(cont’) “Internet-based applications can not be engineering in the “conventional” sense, but then no system based on emerging technology can use the previous generation’s conventional engineering tools.”

2 nd Question: Speed Rules “How should we engineer systems that are often build by non-engineers, are dynamic, and must go live in days, not month?” Two schools of thought(Both is correct) One feels that the speed of development and new technology make web-based development different, therefore justifying a unique approach to building such systems The other believes that the need for solid engineering overshadows the “differences” in the technology being developed.

Advices 1 Seek existing solutions. Separate system from functionality as much as possible Use a development environment that lets you move fast. For example, using scripting languages, not C language.

Advices 2 State quality requirements quantitatively. Get contractual guarantees. Use proven track-record suppliers Build and expand the system in evolutionary stages. Consider appropriate systematic redundancy at many levels, to allow some degree of operation when failure occur.

The discussion about software testing The test-based approach to software quality take too long, and will be unacceptable in the Web-based future. Without testing, we couldn’t ensure what we’ve fixed is really fixed, and bugs are not reintroduced.

3 rd Question How should it organize teams of people to build software for the Internet when not all of them are “exceptional” “Them” – are members of development team “Exceptional” – some people with experience and motivation for new technology With any new software technology rapid growth, “exceptional people” do the work and produce high quality quickly. But as time passes, less competent people with lower motivation joined the team, there’s little doubt this will happen with Web-based software, as it has in every other software domain.

Understand The project manager admit They really don’t know the requirements They have to track social interaction The product will be late, so they have to pad estimates. There will be more bugs than anticipated, so they have to elevate testing to the higher level There will be personal turnover, so you have to constantly guard against hacks and inadequate documents.

Solution Learn to specify the critical requirements in a measurable and testable manner, and replace inadequate people, architectures or method by stronger ones. Reward developers with progress payments for real, relevant, measurable achievements. Keep task simple and team small. Break the task up into smaller pieces for subteams Decompose a task into cohesive pieces with thin interface. Powerful software tools of development are needed. Standards and engineering disciplines are needed. The exceptional skill is the ability to communicate with colleagues. Use the serious, complete documentation, modular design, planning for future updates, never consider the consequence of hiring “less qualified” people

The final words Engineering discipline is never a bad idea. The basic principles that lead to high-quality systems apply dynamic, great the web-based application Problem Applying the principles of solid software engineering isn’t the problem, the problem is in the overly dogmatic, bureaucratic application of the engineering process. But what’s dogmatic, bureaucratic, everyone has different understanding.